X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fgc-common.c;h=96ac8df05e719371dc08bd214cc1a4c4ec5e3a91;hb=3a340441c36832861f53fc16478607ea8ab5cb2e;hp=68167601b6211d78b5e6b912ee4e67bea71ff40a;hpb=40f6a8f39da1faba169a081dfd3aeb7ad8391f55;p=sbcl.git diff --git a/src/runtime/gc-common.c b/src/runtime/gc-common.c index 6816760..96ac8df 100644 --- a/src/runtime/gc-common.c +++ b/src/runtime/gc-common.c @@ -2643,7 +2643,7 @@ maybe_gc(os_context_t *context) * A kludgy alternative is to propagate the sigmask change to the * outer context. */ -#ifndef LISP_FEATURE_WIN32 +#if !(defined(LISP_FEATURE_WIN32) || defined(LISP_FEATURE_SB_SAFEPOINT)) check_gc_signals_unblocked_or_lose(os_context_sigmask_addr(context)); unblock_gc_signals(0, 0); #endif @@ -2668,8 +2668,10 @@ maybe_gc(os_context_t *context) sigset_t *context_sigmask = os_context_sigmask_addr(context); if (!deferrables_blocked_p(context_sigmask)) { thread_sigmask(SIG_SETMASK, context_sigmask, 0); +#ifndef LISP_FEATURE_SB_SAFEPOINT check_gc_signals_unblocked_or_lose(0); #endif +#endif FSHOW((stderr, "/maybe_gc: calling POST_GC\n")); funcall0(StaticSymbolFunction(POST_GC)); #ifndef LISP_FEATURE_WIN32