Missed g_main_loop_unref for murphy's context
[Version] 0.10.93
[Profile] Common
[Issue Type]
[Dependency module] N/A
[Test] [M(T) - Boot=(OK), sdb=(OK), Home=(OK), Touch=(OK), Version=tizen-3.0-mobile_20161115.1]
Change-Id: I452e88c259e2833a96e567f285c26a63e0176403
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
Name: libmm-camcorder
Summary: Camera and recorder library
Name: libmm-camcorder
Summary: Camera and recorder library
Release: 0
Group: Multimedia/Libraries
License: Apache-2.0
Release: 0
Group: Multimedia/Libraries
License: Apache-2.0
static gpointer __mmcamcorder_launch_glib_murphy_loop(void *user_data)
{
static gpointer __mmcamcorder_launch_glib_murphy_loop(void *user_data)
{
MMCamcorderResourceManager *resource_manager= (MMCamcorderResourceManager *)user_data;
MMCamcorderResourceManager *resource_manager= (MMCamcorderResourceManager *)user_data;
+
+ _mmcam_dbg_log("Run mrp_loop");
+
g_main_loop_run(resource_manager->mrp_loop);
g_main_loop_run(resource_manager->mrp_loop);
- LOGI("Murphy glib loop exit");
+
+ _mmcam_dbg_log("Murphy glib loop exit");
+
mrp_res_delete_resource_set(resource_manager->rset);
resource_manager->rset = NULL;
}
mrp_res_delete_resource_set(resource_manager->rset);
resource_manager->rset = NULL;
}
if (resource_manager->context) {
_mmcam_dbg_log("destroy resource context");
mrp_res_destroy(resource_manager->context);
resource_manager->context = NULL;
}
if (resource_manager->context) {
_mmcam_dbg_log("destroy resource context");
mrp_res_destroy(resource_manager->context);
resource_manager->context = NULL;
}
if (resource_manager->mrp_loop) {
g_main_loop_quit(resource_manager->mrp_loop);
if (resource_manager->mrp_loop) {
g_main_loop_quit(resource_manager->mrp_loop);
+ g_main_loop_unref(resource_manager->mrp_loop);
resource_manager->mrp_loop = NULL;
}
resource_manager->mrp_loop = NULL;
}
g_thread_join(resource_manager->starter);
g_thread_join(resource_manager->starter);
+ g_thread_unref(resource_manager->starter);
+ resource_manager->starter = NULL;
+
if (resource_manager->mloop) {
_mmcam_dbg_log("destroy resource mainloop");
mrp_mainloop_destroy(resource_manager->mloop);
if (resource_manager->mloop) {
_mmcam_dbg_log("destroy resource mainloop");
mrp_mainloop_destroy(resource_manager->mloop);