fix bug that causes meta-continuations to chain when they shouldn't

svn: r6206
This commit is contained in:
Matthew Flatt 2007-05-11 23:38:13 +00:00
parent 8e95c32ece
commit 1797a004ba
2 changed files with 3 additions and 2 deletions

View File

@ -4794,6 +4794,7 @@ internal_call_cc (int argc, Scheme_Object *argv[])
especially important one to zero out (otherwise we build up
chains). */
prompt_cont = NULL;
barrier_cont = NULL;
if (scheme_setjmpup_relative(&cont->buf, cont, stack_start, sub_cont)) {
/* We arrive here when the continuation is applied */

View File

@ -1458,10 +1458,10 @@ Scheme_Object *scheme_dump_gc_stats(int c, Scheme_Object *p[])
scheme_end_atomic();
return scheme_make_integer_value((long)p[1]);
}
} else if (SCHEME_INTP(p[0])) {
} else if (c && SCHEME_INTP(p[0])) {
trace_for_tag = SCHEME_INT_VAL(p[0]);
flags |= GC_DUMP_SHOW_TRACE;
} else if (SCHEME_THREADP(p[0])) {
} else if (c && SCHEME_THREADP(p[0])) {
Scheme_Thread *t = (Scheme_Thread *)p[0];
void **var_stack, *limit;
long delta;