add missing GC registration for places

Merge to 5.2
(cherry picked from commit 32b5390ad2)
This commit is contained in:
Matthew Flatt 2011-10-11 06:45:14 -06:00 committed by Eli Barzilay
parent baa0191aff
commit aeac9e4df5
3 changed files with 7 additions and 0 deletions

View File

@ -0,0 +1,5 @@
#lang racket/base
;; Try to trigger master GCs:
(for ([i 100000])
(make-shared-bytes 1024))

View File

@ -292,6 +292,7 @@ Scheme_Env *scheme_engine_instance_init()
#if defined(MZ_PRECISE_GC) && defined(MZ_USE_PLACES)
{
void *signal_handle;
REGISTER_SO(place_object);
place_object = (Scheme_Place_Object*) scheme_make_place_object();
signal_handle = scheme_get_signal_handle();
GC_set_put_external_event_fd(signal_handle);

View File

@ -2189,6 +2189,7 @@ static void *place_start_proc_after_stack(void *data_arg, void *stack_base) {
channel = place_data->channel;
}
place_obj = place_data->place_obj;
REGISTER_SO(place_object);
place_object = place_obj;
place_obj->refcount++;