resource-manager: cleanup resource instance correctly 47/289947/2 accepted/tizen/unified/20230317.081018
authorYoungjae Cho <y0.cho@samsung.com>
Thu, 16 Mar 2023 04:07:42 +0000 (13:07 +0900)
committerYoungjae Cho <y0.cho@samsung.com>
Thu, 16 Mar 2023 04:19:52 +0000 (13:19 +0900)
On failure during create_resource(), remove resource instance from
hashtable if it has been registered hashtable via add_resource().

Change-Id: I124add4633b06be0e3a2bc2786f1eee8b69acce0
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
src/resource-manager/resource-manager.c

index b3f3b9d3553c7e74de931322a1b6bd0509c55752..6fd1f5e5b5bbdeb6eb9032aef52bbbf2dbe7bbdb 100644 (file)
@@ -264,7 +264,7 @@ create_resource(int *resource_id, int resource_type, int instance_type)
        if (driver->ops.create) {
                ret = driver->ops.create(resource->id);
                if (ret < 0) {
-                       free_resource(resource);
+                       g_hash_table_remove(g_resource_hash_table, GINT_TO_POINTER(resource->id));
                        return ret;
                }
        }