Fix not removing resource from procgroup->resource_tree during pg cleanup
This commit is contained in:
@@ -216,16 +216,6 @@ static void procgroup_delete (struct procgroup* procgroup, struct reschedule_ctx
|
||||
|
||||
rnode = next;
|
||||
|
||||
list_append (resource_delete_list, &resource->delete_list_link);
|
||||
}
|
||||
|
||||
struct list_node_link *resource_delete_link, *resource_delete_tmp_link;
|
||||
list_foreach (resource_delete_list, resource_delete_link, resource_delete_tmp_link) {
|
||||
struct proc_resource* resource =
|
||||
list_entry (resource_delete_link, struct proc_resource, delete_list_link);
|
||||
|
||||
list_remove (resource_delete_list, &resource->delete_list_link);
|
||||
|
||||
proc_delete_resource (procgroup, resource, rctx);
|
||||
}
|
||||
|
||||
|
||||
@@ -103,6 +103,7 @@ void proc_delete_resource (struct procgroup* procgroup, struct proc_resource* re
|
||||
spin_lock (&resource->lock);
|
||||
|
||||
id_free (&procgroup->rid_alloc, resource->rid);
|
||||
rbtree_delete (&procgroup->resource_tree, &resource->resource_tree_link);
|
||||
|
||||
spin_unlock (&resource->lock);
|
||||
spin_unlock (&procgroup->lock);
|
||||
|
||||
@@ -21,7 +21,6 @@ struct proc_resource {
|
||||
int rid;
|
||||
spin_lock_t lock;
|
||||
struct rb_node_link resource_tree_link;
|
||||
struct list_node_link delete_list_link;
|
||||
union {
|
||||
struct proc_mutex mutex;
|
||||
struct proc_mail mail;
|
||||
|
||||
Reference in New Issue
Block a user