Redesign VFS around handles
This commit is contained in:
@@ -197,6 +197,8 @@ void procgroup_detach (struct procgroup* procgroup, struct proc* proc,
|
||||
spin_unlock (&procgroup->lock);
|
||||
spin_unlock (&procgroup_tree_lock);
|
||||
|
||||
struct list_node_link* resource_delete_list = NULL;
|
||||
|
||||
/* delete resources */
|
||||
struct rb_node_link* rnode;
|
||||
rbtree_first (&procgroup->resource_tree, rnode);
|
||||
@@ -209,6 +211,16 @@ void procgroup_detach (struct procgroup* procgroup, struct proc* proc,
|
||||
|
||||
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 (resource, rctx);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user