Add the missing unlock 87/244087/2
authorYoungHun Kim <yh8004.kim@samsung.com>
Tue, 15 Sep 2020 03:14:32 +0000 (12:14 +0900)
committerYoungHun Kim <yh8004.kim@samsung.com>
Tue, 15 Sep 2020 03:29:07 +0000 (12:29 +0900)
Change-Id: Ifb5af5521e2675f94e613637a6b5c900c0e1f44d

src/daemon/backend/murphy/mm_resource_manager_rset.c

index fcc359c..74503d3 100644 (file)
@@ -122,13 +122,13 @@ int _mm_resource_manager_rset_acquire(mm_resource_manager_rset_s *rset)
        /* Skip if resource was already acquired */
        if (MRP_RES_RESOURCE_ACQUIRED == rset->mrp_rset->state) {
                MM_RM_DEBUG("rset %p already acquired", rset);
-               g_mutex_unlock(&rset->lock);
-               return MM_RESOURCE_MANAGER_ERROR_NONE;
+               goto out;
        }
 
        if (mrp_res_acquire_resource_set(rset->mrp_rset)) {
                MM_RM_ERROR("Failed to acquire rset %p", rset);
-               return MM_RESOURCE_MANAGER_ERROR_INVALID_OPERATION;
+               ret = MM_RESOURCE_MANAGER_ERROR_INVALID_OPERATION;
+               goto out;
        }
 
        gint64 end_time = g_get_monotonic_time() + RM_RESOURCE_TIMEOUT * G_TIME_SPAN_MILLISECOND;
@@ -142,10 +142,10 @@ int _mm_resource_manager_rset_acquire(mm_resource_manager_rset_s *rset)
                        ret = MM_RESOURCE_MANAGER_ERROR_INVALID_OPERATION;
                } else {
                        MM_RM_DEBUG("Acquired rset %p", rset);
-                       ret = MM_RESOURCE_MANAGER_ERROR_NONE;
                }
        }
 
+out:
        g_mutex_unlock(&rset->lock);
 
        return ret;