volume = requests->volume;
if (volume == MM_RESOURCE_MANAGER_RES_VOLUME_FULL) {
- MM_RM_DEBUG("Resource of %s is requested [mgr %p]", res_name, manager);
+ MM_RM_DEBUG("Resource of %s is requested (mgr %p)", res_name, 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]) {
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;
if (conf->max_instance[type] > 0)
res_count[type]++;
continue;
id = mgr->id;
MM_RM_HASH64(id);
+ if (mgr->be_released) {
+ 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",