diff options
author | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-04-11 21:56:27 +0000 |
---|---|---|
committer | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-04-11 21:56:27 +0000 |
commit | fe4f79ce65058a931452cde4aa16635f7cfacfa3 (patch) | |
tree | 6d7c2c00dce8422204ec1b71cb214f34eb7a70f4 /boehm-gc/darwin_stop_world.c | |
parent | 745c77d19fcd1469e513082ce402fa7d9c30f4c6 (diff) | |
download | gcc-fe4f79ce65058a931452cde4aa16635f7cfacfa3.tar.gz |
* darwin_stop_world.c (GC_push_all_stacks, GC_stop_world,
GC_start_world): Call vm_deallocate to free act_list. Fix from
Bruce Mitchener.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112867 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'boehm-gc/darwin_stop_world.c')
-rw-r--r-- | boehm-gc/darwin_stop_world.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/boehm-gc/darwin_stop_world.c b/boehm-gc/darwin_stop_world.c index 3c0c3710afb..c2a033d3cc4 100644 --- a/boehm-gc/darwin_stop_world.c +++ b/boehm-gc/darwin_stop_world.c @@ -249,6 +249,7 @@ void GC_push_all_stacks() { # endif GC_push_all_stack(lo, hi); } /* for(p=GC_threads[i]...) */ + vm_deallocate(current_task(), (vm_address_t)act_list, sizeof(thread_t) * listcount); } #endif /* !DARWIN_DONT_PARSE_STACK */ @@ -392,6 +393,7 @@ void GC_stop_world() changes = result; prev_list = act_list; prevcount = listcount; + vm_deallocate(current_task(), (vm_address_t)act_list, sizeof(thread_t) * listcount); } while (changes); @@ -463,6 +465,7 @@ void GC_start_world() } } } + vm_deallocate(current_task(), (vm_address_t)act_list, sizeof(thread_t) * listcount); # if DEBUG_THREADS GC_printf0("World started\n"); # endif |