fix race condition use of scheme_master_proc_thread in master_scheme_place

svn: r12817
This commit is contained in:
Kevin Tew 2008-12-12 19:36:32 +00:00
parent e8aae67e82
commit c70abd63e5

View File

@ -246,7 +246,10 @@ static void *place_start_proc(void *data_arg) {
#ifdef MZ_PRECISE_GC
static void *master_scheme_place(void *data) {
mz_proc_thread *myself;
myself = proc_thread_self;
GC_switch_in_master_gc();
while(1) {
int recv_type;
void *recv_payload;
@ -254,7 +257,7 @@ static void *master_scheme_place(void *data) {
Scheme_Object *o;
Scheme_Object *copied_o;
pt_mbox_recv(scheme_master_proc_thread->mbox, &recv_type, &recv_payload, &origin);
pt_mbox_recv(myself->mbox, &recv_type, &recv_payload, &origin);
switch(recv_type) {
case 1:
copied_o = scheme_places_deep_copy((Scheme_Object *)recv_payload);