Fix no response for some APIs 04/91404/1 accepted/tizen/common/20161007.173356 submit/tizen_common/20161007.092620
authorJeongmo Yang <jm80.yang@samsung.com>
Fri, 7 Oct 2016 08:41:59 +0000 (17:41 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Fri, 7 Oct 2016 08:41:59 +0000 (17:41 +0900)
Some APIs are request commands without API_CREATE,
but, muse server could not call dispatcher of module at specific case.
It is fixed.

[Version] 0.1.16
[Profile] Common
[Issue Type] Bug fix
[Dependency module] N/A
[Dependency commit] N/A
[Test] [M(T) - Boot=(OK), sdb=(OK), Home=(OK), Touch=(OK), Version=tizen-mobile_20161007.1]

Change-Id: I495c65c446be8d2c67a331cec6b6e3fd61464712
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
packaging/mused.spec
src/muse_core_ipc.c

index 70397f0..f87a151 100644 (file)
@@ -1,7 +1,7 @@
 Name:       mused
 Summary:    A Multimedia Daemon in Tizen Native API
-Version:    0.1.15
-Release:    1
+Version:    0.1.16
+Release:    0
 Group:      System/Libraries
 License:    Apache-2.0
 Source0:    %{name}-%{version}.tar.gz
index 73c8e63..4861a41 100644 (file)
@@ -135,17 +135,18 @@ static gpointer _muse_core_ipc_dispatch_worker(gpointer data)
                                                break;
                                        default:
                                                module->ch[MUSE_CHANNEL_MSG].tbm_fd = tbm_fd;
-                                               if ((value = muse_core_module_get_instance()->get_dllsymbol_loaded_value(module->api_module)) == false) {
-                                                       LOGE("### >>>  Please check whether it has really intended to not call the create api [module %p]", module);
-                                                       module->is_create_api_called = false;
+
+                                               if (module->is_create_api_called == false) {
                                                        if (muse_core_msg_json_deserialize(MUSE_MODULE, module->recvMsg + module->msg_offset, &parse_len, &api_module, &err, MUSE_TYPE_INT)) {
                                                                module->api_module = api_module;
-                                                               module->ch[MUSE_CHANNEL_MSG].dll_handle = muse_core_module_get_instance()->load(api_module);
                                                                module->ch[MUSE_CHANNEL_DATA].queue = g_queue_new();
                                                                g_mutex_init(&module->ch[MUSE_CHANNEL_DATA].mutex);
+                                                               module->ch[MUSE_CHANNEL_MSG].dll_handle = muse_core_module_get_instance()->load(api_module);
                                                        }
                                                }
+
                                                muse_core_module_get_instance()->dispatch(cmd, module);
+
                                                if (module->is_create_api_called == false) {
                                                        LOGE("<<< ### _muse_core_ipc_client_cleanup [module %p] [get_dllsymbol_loaded_value %d]", module, value);
                                                        _muse_core_ipc_client_cleanup(module);