From 79a3755a10ca2a2544560e3cc92fcc1aabcbc5cf Mon Sep 17 00:00:00 2001 From: YoungHun Kim Date: Mon, 8 Jun 2020 15:38:50 +0900 Subject: [PATCH] Do not execute clean-up right after dispatch_no_instance without destroy dispatch - Add log of module pointer Change-Id: I7503b987805cdd6b9fd27add9e19841425b469bd --- core/src/muse_core.c | 2 +- packaging/mused.spec | 2 +- server/src/muse_server_connection.c | 2 +- server/src/muse_server_ipc.c | 8 ++++---- server/src/muse_server_private.c | 5 ++++- 5 files changed, 11 insertions(+), 8 deletions(-) diff --git a/core/src/muse_core.c b/core/src/muse_core.c index 2707e1b..87bb0b9 100644 --- a/core/src/muse_core.c +++ b/core/src/muse_core.c @@ -677,7 +677,7 @@ bool muse_core_msg_recv_len(int fd, char *buf, int msg_len) LOGE("[fd %d] recv failed [error %s %d]", fd, err_msg, errno); return false; } else if (recv_len == 0) { - LOGD("EOF"); + LOGD("[fd %d] EOF", fd); return false; } diff --git a/packaging/mused.spec b/packaging/mused.spec index 48c7f8b..1b004dd 100644 --- a/packaging/mused.spec +++ b/packaging/mused.spec @@ -1,6 +1,6 @@ Name: mused Summary: A multimedia daemon -Version: 0.3.116 +Version: 0.3.117 Release: 0 Group: System/Libraries License: Apache-2.0 diff --git a/server/src/muse_server_connection.c b/server/src/muse_server_connection.c index 78712fa..3972079 100644 --- a/server/src/muse_server_connection.c +++ b/server/src/muse_server_connection.c @@ -61,7 +61,7 @@ static void _ms_connection_module_instance_info(muse_module_h m, ms_connection_t g_async_queue_push(ms->diag.msg_aq, (gpointer)dm); - LOGW("total number of modules = %d ( %s) - %s %p from pid %d %s client (count %d)", + LOGW("total number of modules = %d ( %s) - %s module %p from pid %d %s client (count %d)", len, ms->instance_pid_info, ms_get_command_string(cmd), m, m->pid, ms_config_get_host_name(m->idx), connection->instance_count[m->idx]); } diff --git a/server/src/muse_server_ipc.c b/server/src/muse_server_ipc.c index 358ec13..6d82a9c 100644 --- a/server/src/muse_server_ipc.c +++ b/server/src/muse_server_ipc.c @@ -88,7 +88,7 @@ static void _ms_ipc_module_msg_ch_cleanup(muse_module_h m) SECURE_LOGD("[close] [%d] MUSE_CHANNEL_MSG %p", m->ch[MUSE_CHANNEL_MSG].sock_fd, m); muse_core_connection_close(m->ch[MUSE_CHANNEL_MSG].sock_fd); - SECURE_LOGD("%p thread exit", m->ch[MUSE_CHANNEL_MSG].thread); + SECURE_LOGD("msg thread (%p) exit", m->ch[MUSE_CHANNEL_MSG].thread); g_thread_unref(m->ch[MUSE_CHANNEL_MSG].thread); m->ch[MUSE_CHANNEL_MSG].thread = NULL; } @@ -240,7 +240,7 @@ static gboolean _ms_ipc_dispatch_no_instance(muse_module_h m, void *jobj) out: ms_module_dispatch_unlock(m); - return FALSE; + return TRUE; } static gpointer _ms_ipc_dispatch_worker(gpointer data) @@ -287,11 +287,11 @@ static gpointer _ms_ipc_dispatch_worker(gpointer data) if (muse_core_msg_object_get_value(MSG_KEY_API, jobj, MUSE_TYPE_INT, &m->api)) { switch (m->api) { case API_CREATE: - SECURE_LOGI("CREATE %p %d", m, fd); + SECURE_LOGI("CREATE module %p %d", m, fd); attempt_to_dispatch = _ms_ipc_dispatch_create(m, jobj); break; case API_DESTROY: - SECURE_LOGI("DESTROY %p %d", m, fd); + SECURE_LOGI("DESTROY module %p %d", m, fd); attempt_to_dispatch = _ms_ipc_dispatch_destroy(m); break; default: diff --git a/server/src/muse_server_private.c b/server/src/muse_server_private.c index 9bcf22b..666ac60 100644 --- a/server/src/muse_server_private.c +++ b/server/src/muse_server_private.c @@ -265,6 +265,8 @@ static gboolean _ms_connection_handler(GIOChannel *source, GIOCondition conditio GQueue *instance_queue = NULL; ms_connection_t *connection = NULL; + muse_return_val_if_fail(channel == MUSE_CHANNEL_MSG || channel == MUSE_CHANNEL_DATA, FALSE); + LOGI("Enter [%s channel]", channel_name[channel]); muse_return_val_if_fail(muse_server, FALSE); @@ -309,6 +311,7 @@ static gboolean _ms_connection_handler(GIOChannel *source, GIOCondition conditio if (channel == MUSE_CHANNEL_MSG) { m = g_new0(muse_module_t, 1); + SECURE_LOGI("module [%p]", m); m->ch[MUSE_CHANNEL_MSG].sock_fd = client_sockfd; m->pid = pid; g_mutex_init(&m->dispatch_lock); @@ -1271,7 +1274,7 @@ void ms_cmd_dispatch_foreach_func(gpointer data, gpointer user_data) } ms_cmd_dispatch(m, cmd); - SECURE_LOGI("[%s] %p (%s)", module_cmd[cmd], m, muse_server->conf->host[m->idx]); + SECURE_LOGI("[%s] module %p (%s)", module_cmd[cmd], m, muse_server->conf->host[m->idx]); if (cmd == MUSE_MODULE_COMMAND_EXTERNAL_STORAGE_STATE_CHANGED) muse_server_set_user_data(m, NULL); -- 2.7.4