Remove idle event after release handler threads 30/279430/1 accepted/tizen_6.0_unified tizen_6.0 accepted/tizen/6.0/unified/20220809.213838 submit/tizen_6.0/20220809.083448
authorJeongmo Yang <jm80.yang@samsung.com>
Tue, 9 Aug 2022 07:31:59 +0000 (16:31 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Tue, 9 Aug 2022 07:31:59 +0000 (16:31 +0900)
- The idle event could be added before release handler threads,
  then it could be called after release handle and it causes crash.

[Version] 0.3.30
[Issue Type] Improvement

Change-Id: Ic9422fe73ddeb35cd4035fc151f16c18c604bebc
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
packaging/capi-media-recorder.spec
src/recorder.c

index 8708e6a..98cc479 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-media-recorder
 Summary:    A Recorder API
-Version:    0.3.29
+Version:    0.3.30
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index c246066..ce950ce 100644 (file)
@@ -1440,9 +1440,6 @@ static void _recorder_client_callback_destroy(recorder_cb_info_s *cb_info)
 
        g_return_if_fail(cb_info != NULL);
 
-       /* remove idle event */
-       _recorder_deactivate_idle_event_all(cb_info);
-
        REC_LOG_INFO("MSG receive thread[%p] destroy", cb_info->msg_recv_thread);
 
        g_thread_join(cb_info->msg_recv_thread);
@@ -1454,6 +1451,9 @@ static void _recorder_client_callback_destroy(recorder_cb_info_s *cb_info)
        __destroy_msg_handler_thread(&cb_info->audio_stream_cb_info);
        __destroy_msg_handler_thread(&cb_info->muxed_stream_cb_info);
 
+       /* remove idle event */
+       _recorder_deactivate_idle_event_all(cb_info);
+
        for (i = 0 ; i < MUSE_RECORDER_EVENT_TYPE_NUM ; i++)
                g_mutex_clear(&cb_info->user_cb_mutex[i]);