From ba9d67765afcde479d0e77b43e08ae1d54c6144a Mon Sep 17 00:00:00 2001 From: Bryce McKinlay <mckinlay@redhat.com> Date: Tue, 11 Apr 2006 21:56:27 +0000 Subject: [PATCH] darwin_stop_world.c (GC_push_all_stacks, [...]): Call vm_deallocate to free act_list. * 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. From-SVN: r112867 --- boehm-gc/ChangeLog | 6 ++++++ boehm-gc/darwin_stop_world.c | 3 +++ 2 files changed, 9 insertions(+) diff --git a/boehm-gc/ChangeLog b/boehm-gc/ChangeLog index 1195d7ee5e98..936d3bfc2332 100644 --- a/boehm-gc/ChangeLog +++ b/boehm-gc/ChangeLog @@ -1,3 +1,9 @@ +2006-04-11 Bryce McKinlay <mckinlay@redhat.com> + + * 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. + 2006-03-24 Andreas Tobler <a.tobler@schweiz.ch> John David Anglin <dave.anglin@nrc-cnrc.gc.ca> diff --git a/boehm-gc/darwin_stop_world.c b/boehm-gc/darwin_stop_world.c index 3c0c3710afbf..c2a033d3cc44 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 -- GitLab