Changeset 152b2b0 in mainline
- Timestamp:
- 2006-06-01T14:11:29Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 7c95658c
- Parents:
- bd571f44
- Location:
- generic/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
generic/src/adt/btree.c
rbd571f44 r152b2b0 51 51 #include <print.h> 52 52 53 static void btree_destroy_subtree(btree_node_t *root); 53 54 static void _btree_insert(btree_t *t, btree_key_t key, void *value, btree_node_t *rsubtree, btree_node_t *node); 54 55 static void _btree_remove(btree_t *t, btree_key_t key, btree_node_t *node); … … 102 103 void btree_destroy(btree_t *t) 103 104 { 104 ASSERT(!t->root->keys); 105 slab_free(btree_node_slab, t->root); 105 btree_destroy_subtree(t->root); 106 106 } 107 107 … … 127 127 128 128 _btree_insert(t, key, value, NULL, lnode); 129 } 130 131 /** Destroy subtree rooted in a node. 132 * 133 * @param root Root of the subtree. 134 */ 135 void btree_destroy_subtree(btree_node_t *root) 136 { 137 int i; 138 139 if (root->keys) { 140 for (i = 0; i < root->keys + 1; i++) { 141 if (root->subtree[i]) 142 btree_destroy_subtree(root->subtree[i]); 143 } 144 } 145 slab_free(btree_node_slab, root); 129 146 } 130 147 -
generic/src/mm/as.c
rbd571f44 r152b2b0 162 162 ASSERT(!list_empty(&as->as_area_btree.leaf_head)); 163 163 node = list_get_instance(&as->as_area_btree.leaf_head.next, btree_node_t, leaf_link); 164 if ((cond = node->keys)) {164 if ((cond = node->keys)) 165 165 as_area_destroy(as, node->key[0]); 166 btree_remove(&as->as_area_btree, node->key[0], node); 167 } 168 } 169 166 } 167 168 btree_destroy(&as->as_area_btree); 170 169 page_table_destroy(as->page_table); 171 170 … … 461 460 page_table_unlock(as, false); 462 461 } 463 if (!used_space_remove(area, b, i))464 panic("Could not remove used space.\n");465 462 } 466 463 } … … 1490 1487 if ((cond = node->keys)) { 1491 1488 frame_free(ADDR2PFN((__address) node->value[0])); 1492 btree_remove(&sh_info->pagemap, node->key[0], node);1493 1489 } 1494 1490 }
Note:
See TracChangeset
for help on using the changeset viewer.