add missing GC registration for places
Merge to 5.2
This commit is contained in:
parent
dc912ee6de
commit
32b5390ad2
5
collects/tests/racket/place-master-gc.rkt
Normal file
5
collects/tests/racket/place-master-gc.rkt
Normal file
|
@ -0,0 +1,5 @@
|
|||
#lang racket/base
|
||||
|
||||
;; Try to trigger master GCs:
|
||||
(for ([i 100000])
|
||||
(make-shared-bytes 1024))
|
|
@ -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);
|
||||
|
|
|
@ -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++;
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user