Add O_NONBLOCK flag to avoid deadlock at open() 30/249830/9 accepted/tizen/unified/20201218.124449 submit/tizen/20201217.064307
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 05:57:37 +0000 (14:57 +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: Id43647dd3807b077e80ba3bbe1c9f38831a15d8f

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

index ede9b86..25aea19 100644 (file)
@@ -1,6 +1,6 @@
 Name:       mm-resource-manager
 Summary:    A Multimedia Resource Manager API
-Version:    0.2.41
+Version:    0.2.42
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index 07ee502..555b901 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);