Replace g_cond_signal() by g_cond_broadcast() 31/266131/2 accepted/tizen/unified/20211109.042919 submit/tizen/20211108.090241
authorJeongmo Yang <jm80.yang@samsung.com>
Mon, 8 Nov 2021 06:50:24 +0000 (15:50 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Mon, 8 Nov 2021 06:53:13 +0000 (15:53 +0900)
- It seems that signal could be missed with multi-thread API calls.

[Version] 0.4.64
[Issue Type] Enhancement

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

index 6e88cae..e16061c 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-media-camera
 Summary:    A Camera API
-Version:    0.4.63
+Version:    0.4.64
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index bf560b0..78323e0 100644 (file)
@@ -1628,7 +1628,7 @@ static gpointer __camera_msg_handler_func(gpointer data)
 
                                        CAM_LOG_DEBUG("t[%d] camera api[%d] - return[0x%x]", type, api, ret);
 
-                                       g_cond_signal(&cb_info->api_cond[api]);
+                                       g_cond_broadcast(&cb_info->api_cond[api]);
                                } else {
                                        CAM_LOG_WARNING("no waiting for this api [%d]", api);
                                }
@@ -1925,7 +1925,7 @@ static void __camera_process_msg(camera_cb_info_s *cb_info, char *msg, int *tfd)
                        cb_info->api_ret[api] = ret;
                        cb_info->api_activating[api] = TRUE;
 
-                       g_cond_signal(&cb_info->api_cond[api]);
+                       g_cond_broadcast(&cb_info->api_cond[api]);
                } else {
                        CAM_LOG_WARNING("no waiting for this api [%d]", api);
                }