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
This commit is contained in:
Bryce McKinlay 2006-04-11 21:56:27 +00:00 committed by Bryce McKinlay
parent 58be56ea83
commit ba9d67765a
2 changed files with 9 additions and 0 deletions

View File

@ -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>

View File

@ -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