X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Finterr.c;h=3b0a8829677e1b96771be945c6ca150052b4a478;hb=c553e4be6da2d18f0827f190589c88e837b8b8a6;hp=c13be451c9270b6c3bb74f64aa21e1947e9526e2;hpb=d1873cc3f7a09f9891bb9c05f206af1774876c0c;p=sbcl.git diff --git a/src/runtime/interr.c b/src/runtime/interr.c index c13be45..3b0a882 100644 --- a/src/runtime/interr.c +++ b/src/runtime/interr.c @@ -79,7 +79,7 @@ lose(char *fmt, ...) va_list ap; /* Block signals to prevent other threads, timers and such from * interfering. If only all threads could be stopped somehow. */ - block_blockable_signals(); + block_blockable_signals(0, 0); fprintf(stderr, "fatal error encountered"); va_start(ap, fmt); print_message(fmt, ap); @@ -95,8 +95,10 @@ void corruption_warning_and_maybe_lose(char *fmt, ...) { va_list ap; +#ifndef LISP_FEATURE_WIN32 sigset_t oldset; - thread_sigmask(SIG_BLOCK, &blockable_sigset, &oldset); + block_blockable_signals(0, &oldset); +#endif fprintf(stderr, "CORRUPTION WARNING"); va_start(ap, fmt); print_message(fmt, ap); @@ -109,8 +111,10 @@ corruption_warning_and_maybe_lose(char *fmt, ...) fflush(stderr); if (lose_on_corruption_p) call_lossage_handler(); +#ifndef LISP_FEATURE_WIN32 else thread_sigmask(SIG_SETMASK,&oldset,0); +#endif } /* internal error handler for when the Lisp error system doesn't exist