Create diagnostic thread after executing g_idle_add normally 58/234158/4
authorYoungHun Kim <yh8004.kim@samsung.com>
Fri, 22 May 2020 07:48:45 +0000 (16:48 +0900)
committerYoungHun Kim <yh8004.kim@samsung.com>
Fri, 22 May 2020 10:16:26 +0000 (19:16 +0900)
Change-Id: Ic1cd606923dc57f042ae06abfe0ae13fcfdc8e4f

server/src/muse_server_private.c

index 65f0baf..c4cf770 100644 (file)
@@ -501,6 +501,8 @@ static gboolean _ms_idle_cb(gpointer user_data)
        if (!ms_create_ready_file())
                LOGE("%s file creation is failed", MUSE_SERVER_READY);
 
+       ms_diag_thread_create();
+
        return G_SOURCE_REMOVE;
 }
 
@@ -510,8 +512,6 @@ static void _ms_init(void)
 
        LOGD("Enter");
 
-       muse_server = g_new0(muse_server_t, 1);
-
        muse_server->system = g_new0(ms_system_t, 1);
        ms_system_init(muse_server->system);
 
@@ -883,17 +883,18 @@ int ms_pidfile_create(const char *path, pid_t pid)
 void ms_init(char **argv)
 {
        int idx;
-       pid_t pid;
        int notify_fd;
        muse_module_cmd_dispatchfunc *cmd_dispatcher = NULL;
 
        LOGD("Enter");
 
+       muse_server = g_new0(muse_server_t, 1);
+
        ms_setup_syslog();
 
-       pid = ms_daemonize(&notify_fd);
+       muse_server->pid = ms_daemonize(&notify_fd);
 
-       if (ms_pidfile_create(MUSE_DEFAULT_PIDFILE, pid) != MM_ERROR_NONE)
+       if (ms_pidfile_create(MUSE_DEFAULT_PIDFILE, muse_server->pid) != MM_ERROR_NONE)
                exit(EXIT_FAILURE);
        else
                LOGD("MUSE_DEFAULT_PIDFILE(%s) file was created", MUSE_DEFAULT_PIDFILE);
@@ -901,7 +902,6 @@ void ms_init(char **argv)
        _ms_init();
 
        muse_return_if_fail(ms_get_instance());
-       ms_get_instance()->pid = pid;
 
        muse_return_if_fail(ms_open_lockfile() == MM_ERROR_NONE);
 
@@ -915,12 +915,10 @@ void ms_init(char **argv)
 
        ms_system_subscribe_external_event(ms_get_instance()->system);
 
-       ms_diag_thread_create();
-
 #ifdef MUSE_USE_WATCHDOG
        if (!ms_watchdog_attach(ms_get_instance()->watchdog)) {
                LOGE("watchdog thread failed");
-               ms_log_process_info(pid);
+               ms_log_process_info(muse_server->pid);
                return;
        }
 #endif