Ignore the client connection requests prior to server reaedy 86/198886/1
authorYoungHun Kim <yh8004.kim@samsung.com>
Thu, 31 Jan 2019 00:20:55 +0000 (09:20 +0900)
committerYoungHun Kim <yh8004.kim@samsung.com>
Thu, 31 Jan 2019 00:20:58 +0000 (09:20 +0900)
Change-Id: I7d11e68248c6f69133db3e7e6d973a0f0a4bd0ea

client/src/muse_client.c
core/include/muse_core.h
core/src/muse_core.c
server/src/muse_server_ipc.c

index d60cf72..e591357 100644 (file)
@@ -142,6 +142,7 @@ static int _mc_new(muse_channel_e channel)
 
        LOGI("Enter");
        muse_return_val_if_fail(channel < MUSE_CHANNEL_MAX, MM_ERROR_INVALID_ARGUMENT);
+       muse_return_val_if_fail(muse_server_is_ready(), MM_ERROR_UNKNOWN);
 
        /* create socket */
        sock_fd = socket(AF_UNIX, SOCK_STREAM, 0);
@@ -187,6 +188,8 @@ static int _mc_new(muse_channel_e channel)
 
 static void _mc_table_new(void)
 {
+       muse_return_if_fail(muse_server_is_ready());
+
        g_mutex_lock(&mc_mutex);
 
        if (!mc_table) {
index 9741d55..3989171 100644 (file)
@@ -117,6 +117,8 @@ void muse_core_log_file_list(const char *path);
 void muse_core_log_cmd_info(char *cmd);
 void muse_core_remove_symlink(const char *path);
 
+bool muse_server_is_ready(void);
+
 #ifdef __cplusplus
 }
 #endif
index 074a99d..a875f8e 100644 (file)
@@ -206,6 +206,11 @@ void muse_core_log_cmd_info(char *cmd)
        }
 }
 
+bool muse_server_is_ready(void)
+{
+       return access(MUSE_DEFAULT_PIDFILE, F_OK) == 0;
+}
+
 int muse_core_connection_close(int sock_fd)
 {
        char err_msg[MUSE_MSG_LEN_MAX] = {'\0',};
index 0894d07..060d0dd 100644 (file)
@@ -135,7 +135,7 @@ static gpointer _ms_ipc_dispatch_worker(gpointer data)
                                                        ms_connection_register(m);
                                                        m->is_create_api_called = true;
 
-                                                       if (access(MUSE_SERVER_READY, F_OK) == 0)
+                                                       if (muse_server_is_ready())
                                                                ms_cmd_dispatch(m, MUSE_MODULE_COMMAND_CREATE_SERVER_ACK);
                                                        else
                                                                LOGW("Do not send server acknowledgement because muse server is actually not ready");