Remove replaceable duplicate variables 21/234821/1
authorYoungHun Kim <yh8004.kim@samsung.com>
Fri, 29 May 2020 05:08:06 +0000 (14:08 +0900)
committerYoungHun Kim <yh8004.kim@samsung.com>
Fri, 29 May 2020 05:08:11 +0000 (14:08 +0900)
Change-Id: I2be310fb4121ad28c65ca597bc254fdf261ce5dc

src/daemon/mm_resource_manager_daemon_priv.c

index f1343b7..6a9fcd6 100644 (file)
@@ -53,7 +53,6 @@ typedef struct {
        mm_resource_manager_app_class_e app_class;
        mm_resource_manager_res_type_e type;
        int volume;
-       gboolean be_released;
        /* if an element is NULL, there is no such a resource for the current platform. */
        mm_resource_manager_dmn_res_p resources[MM_RESOURCE_MANAGER_RES_TYPE_MAX];
 
@@ -535,12 +534,11 @@ static GArray *__handle_acquire_requests(mm_resource_manager_dmn_p manager,
                        for (i = 0; i < managers->len; i++) {
                                i_mgr = (mm_resource_manager_dmn_p)managers->pdata[i];
 
-                               if (manager->id == i_mgr->id ||
-                                       conf->priority[i_mgr->app_class] >conf->priority[manager->app_class]) {
+                               if (manager->id == i_mgr->id || conf->priority[i_mgr->app_class] >conf->priority[manager->app_class]) {
                                        i_mgr->resources[type]->is_acquired = TRUE;
-                                       MM_RM_INFO("Reset (prev state : %d) the value of release in RM %"PRIu64" (mgr %p)",
-                                               i_mgr->be_released, _mm_rm_hash64(i_mgr->id), i_mgr);
-                                       i_mgr->be_released = FALSE;
+                                       i_mgr->type = type;
+                                       i_mgr->volume = volume;
+                                       MM_RM_INFO("Reset the value of release in RM %"PRIu64" (mgr %p)", _mm_rm_hash64(i_mgr->id), i_mgr);
                                        if (conf->max_instance[type] > 0)
                                                res_count[type]++;
                                        continue;
@@ -587,11 +585,10 @@ static GArray *__handle_acquire_requests(mm_resource_manager_dmn_p manager,
                                                        j_mgr = (mm_resource_manager_dmn_p)managers->pdata[j];
                                                        res = j_mgr->resources[type]->parts;
 
-                                                       if (res && !j_mgr->be_released) {
+                                                       if (res && j_mgr->resources[type]->is_acquired) {
                                                                MM_RM_INFO("[#%d] [#%d / #%d] would be released %s in RM %"PRIu64,
                                                                managers->len, j + 1, res->len, res_name, _mm_rm_hash64(j_mgr->id));
 
-                                                               j_mgr->be_released = TRUE;
                                                                __add_cb_request(cb_requests, j_mgr, type,
                                                                                g_array_index(res, mm_resource_manager_res_volume, 0));
 
@@ -616,7 +613,7 @@ static GArray *__handle_acquire_requests(mm_resource_manager_dmn_p manager,
                                                        j_mgr = (mm_resource_manager_dmn_p)managers->pdata[j];
                                                        res = j_mgr->resources[type]->parts;
 
-                                                       if (j_mgr->be_released)
+                                                       if (!j_mgr->resources[type]->is_acquired)
                                                                continue;
 
                                                        acquired_volume += g_array_index(res, mm_resource_manager_res_volume, 0);
@@ -624,7 +621,6 @@ static GArray *__handle_acquire_requests(mm_resource_manager_dmn_p manager,
                                                                managers->len, j + 1, res->len, acquired_volume, res_name,
                                                                _mm_rm_hash64(j_mgr->id));
 
-                                                       j_mgr->be_released = TRUE;
                                                        __add_cb_request(cb_requests, j_mgr, type,
                                                                g_array_index(res, mm_resource_manager_res_volume, 0));
 
@@ -672,6 +668,7 @@ static void __handle_release_callbacks(GArray *requests)
                request = &g_array_index(requests, mm_resource_manager_dmn_release_cb_request_s, i);
                mgr = request->manager;
                type = request->type;
+               volume = request->volume;
 
                if (!mgr->resources[type]->is_acquired)
                        continue;
@@ -679,14 +676,12 @@ static void __handle_release_callbacks(GArray *requests)
                id = mgr->id;
                MM_RM_HASH64(id);
 
-               if (mgr->be_released) {
+               if (mgr->type == type && mgr->volume == volume && !mgr->resources[type]->is_acquired) {
                        MM_RM_WARNING("Resource (mgr %p) release callback is already completed RM #%"PRIu64" for %s of volume %d",
                                mgr, id, _mm_resource_manager_get_res_str(type), volume);
                        continue;
                }
 
-               volume = request->volume;
-
                MM_RM_INFO("Sending release callback to [mgr %p] RM #%"PRIu64" for %s of volume %d",
                                mgr, id, _mm_resource_manager_get_res_str(type), volume);
 
@@ -707,7 +702,6 @@ static void __handle_release_callbacks(GArray *requests)
                }
 
                mgr->resources[type]->is_acquired = FALSE;
-               mgr->be_released = TRUE;
        }
 }