| 103 | } |
| 104 | |
| 105 | void rt_aspace_detach(rt_aspace_t aspace) |
| 106 | { |
| 107 | rt_varea_t varea; |
| 108 | |
| 109 | WR_LOCK(aspace); |
| 110 | varea = ASPACE_VAREA_FIRST(aspace); |
| 111 | while (varea) |
| 112 | { |
| 113 | rt_varea_t prev = varea; |
| 114 | varea = ASPACE_VAREA_NEXT(varea); |
| 115 | |
| 116 | _varea_uninstall_locked(prev); |
| 117 | if (VAREA_NOT_STATIC(prev)) |
| 118 | { |
| 119 | rt_free(prev); |
| 120 | } |
| 121 | } |
| 122 | WR_UNLOCK(aspace); |
| 123 | |
| 124 | rt_aspace_anon_ref_dec(aspace->private_object); |
| 125 | |
| 126 | rt_mutex_detach(&aspace->bst_lock); |
| 127 | } |
| 128 | |
| 129 | void rt_aspace_delete(rt_aspace_t aspace) |
| 130 | { |
no test coverage detected