quicklaunch: return child pid from elm_quicklaunch_fork() on success
authorMike Blumenkrantz <zmike@osg.samsung.com>
Thu, 25 Jan 2018 21:46:26 +0000 (16:46 -0500)
committerWonki Kim <wonki_.kim@samsung.com>
Tue, 3 Apr 2018 09:51:34 +0000 (18:51 +0900)
src/lib/elementary/elm_general.h
src/lib/elementary/elm_main.c

index 216b001..74a86b8 100644 (file)
@@ -251,7 +251,7 @@ EAPI Eina_Bool efl_quicklaunch_prepare(int argc, char **argv, const char *cwd);
  * @deprecated Deprecated since 2.4
  * Exposed symbol used only by macros and should not be used by apps
  */
-EINA_DEPRECATED EAPI Eina_Bool elm_quicklaunch_fork(int argc, char **argv, char *cwd, void (*postfork_func) (void *data), void *postfork_data);
+EINA_DEPRECATED EAPI int elm_quicklaunch_fork(int argc, char **argv, char *cwd, void (*postfork_func) (void *data), void *postfork_data);
 
 /**
  * @deprecated Deprecated since 2.4
index bc95f01..5b6c267 100644 (file)
@@ -1112,7 +1112,7 @@ efl_quicklaunch_prepare(int    argc,
 #endif
 }
 
-EAPI Eina_Bool
+EAPI int
 elm_quicklaunch_fork(int    argc,
                      char **argv,
                      char  *cwd,
@@ -1130,11 +1130,11 @@ elm_quicklaunch_fork(int    argc,
 
         WRN("No main function found.");
         child = fork();
-        if (child > 0) return EINA_TRUE;
+        if (child > 0) return child;
         else if (child < 0)
           {
              perror("could not fork");
-             return EINA_FALSE;
+             return 0;
           }
         setsid();
         if (chdir(cwd) != 0) perror("could not chdir");
@@ -1149,11 +1149,11 @@ elm_quicklaunch_fork(int    argc,
    INF("Main function found (legacy: %p, efl: %p)",
        qr_main, qre_main);
    child = fork();
-   if (child > 0) return EINA_TRUE;
+   if (child > 0) return child;
    else if (child < 0)
      {
         perror("could not fork");
-        return EINA_FALSE;
+        return 0;
      }
    if (postfork_func) postfork_func(postfork_data);
 
@@ -1243,9 +1243,9 @@ elm_quicklaunch_fork(int    argc,
         exit(ret);
      }
 
-   return EINA_TRUE;
+   return 1;
 #else
-   return EINA_FALSE;
+   return 0;
    (void)argc;
    (void)argv;
    (void)cwd;