parent
2393dae6ff
commit
ea40fcf434
|
@ -79,12 +79,6 @@ static pthread_t create_thread(void *func, void *arg) {
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef NEW_LAUNCH_METHOD
|
#ifdef NEW_LAUNCH_METHOD
|
||||||
struct arg {
|
|
||||||
int argc;
|
|
||||||
char **argv;
|
|
||||||
char **envp;
|
|
||||||
};
|
|
||||||
|
|
||||||
/*** Mach-O IPC Stuffs ***/
|
/*** Mach-O IPC Stuffs ***/
|
||||||
|
|
||||||
union MaxMsgSize {
|
union MaxMsgSize {
|
||||||
|
@ -368,12 +362,6 @@ int main(int argc, char **argv, char **envp) {
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef NEW_LAUNCH_METHOD
|
#ifdef NEW_LAUNCH_METHOD
|
||||||
static void startup_trigger_thread(void *arg) {
|
|
||||||
struct arg args = *((struct arg *)arg);
|
|
||||||
free(arg);
|
|
||||||
startup_trigger(args.argc, args.argv, args.envp);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*** Main ***/
|
/*** Main ***/
|
||||||
int main(int argc, char **argv, char **envp) {
|
int main(int argc, char **argv, char **envp) {
|
||||||
Bool listenOnly = FALSE;
|
Bool listenOnly = FALSE;
|
||||||
|
@ -400,21 +388,13 @@ int main(int argc, char **argv, char **envp) {
|
||||||
* thread handle it.
|
* thread handle it.
|
||||||
*/
|
*/
|
||||||
if(!listenOnly) {
|
if(!listenOnly) {
|
||||||
struct arg *args = (struct arg*)malloc(sizeof(struct arg));
|
if(fork() == 0) {
|
||||||
if(!args) {
|
return startup_trigger(argc, argv, envp);
|
||||||
fprintf(stderr, "Memory allocation error.\n");
|
|
||||||
return EXIT_FAILURE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
args->argc = argc;
|
|
||||||
args->argv = argv;
|
|
||||||
args->envp = envp;
|
|
||||||
|
|
||||||
create_thread(startup_trigger_thread, args);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Main event loop */
|
/* Main event loop */
|
||||||
fprintf(stderr, "Statrup coming...\n");
|
fprintf(stderr, "Waiting for startup parameters via Mach IPC.\n");
|
||||||
kr = mach_msg_server(mach_startup_server, mxmsgsz, mp, 0);
|
kr = mach_msg_server(mach_startup_server, mxmsgsz, mp, 0);
|
||||||
if (kr != KERN_SUCCESS) {
|
if (kr != KERN_SUCCESS) {
|
||||||
fprintf(stderr, "org.x.X11(mp): %s\n", mach_error_string(kr));
|
fprintf(stderr, "org.x.X11(mp): %s\n", mach_error_string(kr));
|
||||||
|
|
Loading…
Reference in New Issue
Block a user