fix bug that causes meta-continuations to chain when they shouldn't
svn: r6206
This commit is contained in:
parent
8e95c32ece
commit
1797a004ba
|
@ -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 */
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue
Block a user