[FIX] add waitpid for launch_app process
authorNikita Kalyazin <n.kalyazin@samsung.com>
Mon, 2 Dec 2013 09:48:54 +0000 (13:48 +0400)
committerNikita Kalyazin <n.kalyazin@samsung.com>
Mon, 2 Dec 2013 10:18:58 +0000 (14:18 +0400)
This prevents such processes from being zombie

Change-Id: Ie9fe745e7009a865703f2fb2961c3b51ab966ed7
Signed-off-by: Nikita Kalyazin <n.kalyazin@samsung.com>
daemon/utils.c

index 6c7fd9a3bb8ca35b0bfd203236596fdd3caeaf4d..ca6bad53451c1076b32bd8f5ab4c88525dec6836 100644 (file)
@@ -45,6 +45,8 @@
 #include <sys/smack.h>
 #include <attr/xattr.h>
 
+#include <sys/wait.h> /* waitpid */
+
 #include "daemon.h"
 #include "utils.h"
 #include "debug.h"
@@ -356,6 +358,10 @@ int exec_app_tizen(const char *app_id, const char *exec_path)
                return -1;
 
        if (pid > 0) { /* parent */
+               int status, ret;
+               do
+                       ret = waitpid(pid, &status, 0);
+               while (ret == -1 && errno == EINTR);
                return 0;
        } else { /* child */
                execl(LAUNCH_APP_PATH, LAUNCH_APP_NAME, app_id, LAUNCH_APP_SDK,