diff --git a/src/mzscheme/gc2/newgc.c b/src/mzscheme/gc2/newgc.c index 58e75906b5..d5aaf409c2 100644 --- a/src/mzscheme/gc2/newgc.c +++ b/src/mzscheme/gc2/newgc.c @@ -593,7 +593,6 @@ inline static void resize_gen0(unsigned long new_size) better to zero out on allocation, instead: better locality, and we don't have to zero for atomic allocations. */ - bzero(PPTR(work) + HEADER_SIZEW, work->size - gcWORDS_TO_BYTES(HEADER_SIZEW)); /* REMOVEME */ alloced_size += GEN0_PAGE_SIZE; work->size = HEADER_SIZEB; prev = work; diff --git a/src/mzscheme/gc2/sighand.c b/src/mzscheme/gc2/sighand.c index 6dc3571469..7f9239fb7b 100644 --- a/src/mzscheme/gc2/sighand.c +++ b/src/mzscheme/gc2/sighand.c @@ -99,8 +99,9 @@ static void initialize_signal_handler() memset(&act, sizeof(sigaction), 0); act.sa_sigaction = fault_handler; sigemptyset(&act.sa_mask); - sigaddset(&act.sa_mask, SIGCHLD); /* needed by MzScheme, since SIGCHLD handling - may trigger a write barrier */ + /* In MzScheme, SIGCHLD or SIGINT handling may trigger a write barrier: */ + sigaddset(&act.sa_mask, SIGINT); + sigaddset(&act.sa_mask, SIGCHLD); act.sa_flags = SA_SIGINFO; sigaction(USE_SIGACTON_SIGNAL_KIND, &act, &oact); }