Places: mark msg_memory

This commit is contained in:
Kevin Tew 2010-09-14 11:31:00 -06:00
parent a5c7d4f5f8
commit 44a9434310
3 changed files with 4 additions and 1 deletions

View File

@ -3432,6 +3432,7 @@ static int place_async_channel_val_MARK(void *p, struct NewGC *gc) {
Scheme_Place_Async_Channel *pac = (Scheme_Place_Async_Channel *)p;
int i;
gcMARK2(pac->msgs, gc);
gcMARK2(pac->msg_memory, gc);
for (i = pac->size; i--; )
gcMARK2(pac->msgs[i], gc);
@ -3443,6 +3444,7 @@ static int place_async_channel_val_FIXUP(void *p, struct NewGC *gc) {
Scheme_Place_Async_Channel *pac = (Scheme_Place_Async_Channel *)p;
int i;
gcFIXUP2(pac->msgs, gc);
gcFIXUP2(pac->msg_memory, gc);
for (i = pac->size; i--; )
gcFIXUP2(pac->msgs[i], gc);

View File

@ -1390,6 +1390,7 @@ place_async_channel_val {
Scheme_Place_Async_Channel *pac = (Scheme_Place_Async_Channel *)p;
int i;
gcMARK2(pac->msgs, gc);
gcMARK2(pac->msg_memory, gc);
for (i = pac->size; i--; )
gcMARK2(pac->msgs[i], gc);

View File

@ -1194,7 +1194,7 @@ Scheme_Object *scheme_place_recv(int argc, Scheme_Object *args[]) {
scheme_wrong_type("place-channel-recv", "place-channel", 0, argc, args);
}
{
void *msg_memory;
void *msg_memory = NULL;
mso = scheme_place_async_recv((Scheme_Place_Async_Channel *) ch->recvch, &msg_memory);
return scheme_places_deserialize(mso, msg_memory);
}