diff --git a/src/racket/src/thread.c b/src/racket/src/thread.c index f1c33e26ea..01365eb70c 100644 --- a/src/racket/src/thread.c +++ b/src/racket/src/thread.c @@ -1793,6 +1793,11 @@ void scheme_schedule_custodian_close(Scheme_Custodian *c) static void check_scheduled_kills() { + if (scheme_no_stack_overflow) { + /* don't shutdown something that may be in an atomic callback */ + return; + } + while (scheduled_kills && !SCHEME_NULLP(scheduled_kills)) { Scheme_Object *k; k = SCHEME_CAR(scheduled_kills);