Add O_NONBLOCK flag to avoid deadlock at open() 56/249856/1 accepted/tizen/6.0/unified/20201218.053921 submit/tizen_6.0/20201217.064244
authorYoungHun Kim <yh8004.kim@samsung.com>
Thu, 17 Dec 2020 04:22:27 +0000 (13:22 +0900)
committerYoungHun Kim <yh8004.kim@samsung.com>
Thu, 17 Dec 2020 06:03:14 +0000 (15:03 +0900)
 - There is a possibility of deadlock when unexpected termination of the client occurs.
   To avoid this, add the sync fifo open with non_block.

Change-Id: I67cbc9b44b5deaaa49810958d3a965ed8b49a4b9

packaging/mm-resource-manager.spec
src/lib/mm_resource_manager_priv.c

index 8a2b51e46f13cee8940a5327d68911ffb2e9b47b..ede9b86166adc1c54e96f403e94eb1745cacc355 100644 (file)
@@ -1,6 +1,6 @@
 Name:       mm-resource-manager
 Summary:    A Multimedia Resource Manager API
-Version:    0.2.40
+Version:    0.2.41
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index 07ee502b5d968c51e5f4c6d150293c1dbc57a50e..555b9019a76c27ae77e07439213ae869987f6b66 100644 (file)
@@ -735,7 +735,7 @@ static void __send_release_cb_sync(mm_resource_manager_id id)
        int sync_fd;
 
        MM_RM_DEBUG("Enter");
-       sync_fd = open(RELEASE_CB_SYNC_PATH, O_WRONLY);
+       sync_fd = open(RELEASE_CB_SYNC_PATH, O_WRONLY | O_NONBLOCK);
        MM_RM_DEBUG("[%d] opened %s", sync_fd, RELEASE_CB_SYNC_PATH);
 
        MM_RM_RETM_IF(sync_fd == -1, "Sync FIFO cannot be opened [errno %d]", errno);