Fix leak in core pool

Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
This commit is contained in:
Robert Baldyga
2019-01-16 11:53:54 +01:00
parent b9fce50783
commit 7352f3092d
4 changed files with 9 additions and 21 deletions

View File

@@ -99,15 +99,7 @@ void ocf_mngt_core_pool_remove(ocf_ctx_t ctx, ocf_data_obj_t obj)
ctx->core_pool.core_pool_count--;
list_del(&obj->core_pool_item);
env_mutex_unlock(&ctx->lock);
ocf_dobj_deinit(obj);
}
void ocf_mngt_core_pool_close_and_remove(ocf_ctx_t ctx, ocf_data_obj_t obj)
{
OCF_CHECK_NULL(ctx);
OCF_CHECK_NULL(obj);
ocf_dobj_close(obj);
ocf_mngt_core_pool_remove(ctx, obj);
ocf_dobj_destroy(obj);
}
void ocf_mngt_core_pool_deinit(ocf_ctx_t ctx)
@@ -118,6 +110,7 @@ void ocf_mngt_core_pool_deinit(ocf_ctx_t ctx)
list_for_each_entry_safe(sobj, tobj, &ctx->core_pool.core_pool_head,
core_pool_item) {
ocf_mngt_core_pool_close_and_remove(ctx, sobj);
ocf_dobj_close(sobj);
ocf_mngt_core_pool_remove(ctx, sobj);
}
}