From: YoungHun Kim Date: Tue, 26 Mar 2019 02:44:39 +0000 (+0900) Subject: fixup! Execute dispatcher worker only when muse-server is ready X-Git-Tag: submit/tizen/20190326.055955^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=38fa4c1780d28a06293ea97f3162dd075c55867b;p=platform%2Fcore%2Fmultimedia%2Fmmsvc-core.git fixup! Execute dispatcher worker only when muse-server is ready Change-Id: If0103cfd2fe08643bedaca00c8e8af67e56f5766 --- diff --git a/packaging/mused.spec b/packaging/mused.spec index c038a255..23fe277e 100644 --- a/packaging/mused.spec +++ b/packaging/mused.spec @@ -1,6 +1,6 @@ Name: mused Summary: A multimedia daemon -Version: 0.3.72 +Version: 0.3.73 Release: 0 Group: System/Libraries License: Apache-2.0 and BSD-3-Clause diff --git a/server/src/muse_server_connection.c b/server/src/muse_server_connection.c index cfb601c1..f3ea91b0 100644 --- a/server/src/muse_server_connection.c +++ b/server/src/muse_server_connection.c @@ -122,7 +122,7 @@ int ms_connection_unregister(muse_module_h m) muse_return_val_if_fail(m, MM_ERROR_INVALID_ARGUMENT); muse_return_val_if_fail(ms_get_instance(), MM_ERROR_UNKNOWN); - muse_return_val_if_fail(ms_get_instance()->state == MUSE_SERVER_STATE_READY, MM_ERROR_UNKNOWN); + muse_return_val_if_fail(ms_is_server_ready(), MM_ERROR_UNKNOWN); connection = ms_get_instance()->connection; diff --git a/server/src/muse_server_private.c b/server/src/muse_server_private.c index 00eaee91..000731fd 100644 --- a/server/src/muse_server_private.c +++ b/server/src/muse_server_private.c @@ -304,7 +304,7 @@ static gboolean _ms_connection_handler(GIOChannel *source, GIOCondition conditio _ms_lock_state(); - if (muse_server->state != MUSE_SERVER_STATE_READY) { + if (!ms_is_server_ready()) { LOGW("Now mused state is not ready..."); _ms_unlock_state(); return FALSE; @@ -416,7 +416,7 @@ static gboolean _ms_connection_handler(GIOChannel *source, GIOCondition conditio job->job_function = job_functions[channel]; job->user_data = m; - if (muse_server->state == MUSE_SERVER_STATE_READY) + if (ms_is_server_ready()) ms_workqueue_add_job(muse_server->workqueue, job); else free(job); diff --git a/server/src/muse_server_workqueue.c b/server/src/muse_server_workqueue.c index f5a5f7f5..1044eb9e 100644 --- a/server/src/muse_server_workqueue.c +++ b/server/src/muse_server_workqueue.c @@ -29,7 +29,7 @@ static void *_ms_workqueue_worker_function(void *ptr) muse_return_val_if_fail(worker, NULL); - while (ms_is_server_ready()) { + while (1) { pthread_mutex_lock(&worker->workqueue->jobs_mutex); if (worker->terminate) { @@ -48,7 +48,7 @@ static void *_ms_workqueue_worker_function(void *ptr) pthread_mutex_unlock(&worker->workqueue->jobs_mutex); - if (!job->job_function(job)) { + if (ms_is_server_ready() && !job->job_function(job)) { LOGE("Error - Execute the workqueue job, Restart muse server..."); ms_respawn(SIGABRT); break;