quicklaunch: return child pid from elm_quicklaunch_fork() on success

This commit is contained in:
Mike Blumenkrantz 2018-01-25 16:46:26 -05:00
parent 7d0008d6e2
commit 023127bf6f
2 changed files with 8 additions and 8 deletions

View File

@ -242,7 +242,7 @@ EAPI Eina_Bool efl_quicklaunch_prepare(int argc, char **argv, const char *cwd);
/** /**
* Exposed symbol used only by macros and should not be used by apps * Exposed symbol used only by macros and should not be used by apps
*/ */
EAPI Eina_Bool elm_quicklaunch_fork(int argc, char **argv, char *cwd, void (*postfork_func) (void *data), void *postfork_data); EAPI int elm_quicklaunch_fork(int argc, char **argv, char *cwd, void (*postfork_func) (void *data), void *postfork_data);
/** /**
* Exposed symbol used only by macros and should not be used by apps * Exposed symbol used only by macros and should not be used by apps

View File

@ -1086,7 +1086,7 @@ efl_quicklaunch_prepare(int argc,
#endif #endif
} }
EAPI Eina_Bool EAPI int
elm_quicklaunch_fork(int argc, elm_quicklaunch_fork(int argc,
char **argv, char **argv,
char *cwd, char *cwd,
@ -1104,11 +1104,11 @@ elm_quicklaunch_fork(int argc,
WRN("No main function found."); WRN("No main function found.");
child = fork(); child = fork();
if (child > 0) return EINA_TRUE; if (child > 0) return child;
else if (child < 0) else if (child < 0)
{ {
perror("could not fork"); perror("could not fork");
return EINA_FALSE; return 0;
} }
setsid(); setsid();
if (chdir(cwd) != 0) perror("could not chdir"); if (chdir(cwd) != 0) perror("could not chdir");
@ -1123,11 +1123,11 @@ elm_quicklaunch_fork(int argc,
INF("Main function found (legacy: %p, efl: %p)", INF("Main function found (legacy: %p, efl: %p)",
qr_main, qre_main); qr_main, qre_main);
child = fork(); child = fork();
if (child > 0) return EINA_TRUE; if (child > 0) return child;
else if (child < 0) else if (child < 0)
{ {
perror("could not fork"); perror("could not fork");
return EINA_FALSE; return 0;
} }
if (postfork_func) postfork_func(postfork_data); if (postfork_func) postfork_func(postfork_data);
@ -1217,9 +1217,9 @@ elm_quicklaunch_fork(int argc,
exit(ret); exit(ret);
} }
return EINA_TRUE; return 1;
#else #else
return EINA_FALSE; return 0;
(void)argc; (void)argc;
(void)argv; (void)argv;
(void)cwd; (void)cwd;