projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
1.0.29.13: relax CAST-EXTERNALLY-CHECKABLE-P a bit
[sbcl.git]
/
src
/
runtime
/
gc-common.c
diff --git
a/src/runtime/gc-common.c
b/src/runtime/gc-common.c
index
d01a4fc
..
c358039
100644
(file)
--- a/
src/runtime/gc-common.c
+++ b/
src/runtime/gc-common.c
@@
-2433,9
+2433,8
@@
maybe_gc(os_context_t *context)
* outer context.
*/
#ifndef LISP_FEATURE_WIN32
* outer context.
*/
#ifndef LISP_FEATURE_WIN32
- check_gc_signals_unblocked_in_sigset_or_lose
- (os_context_sigmask_addr(context));
- unblock_gc_signals();
+ check_gc_signals_unblocked_or_lose(os_context_sigmask_addr(context));
+ unblock_gc_signals(0, 0);
#endif
FSHOW((stderr, "/maybe_gc: calling SUB_GC\n"));
/* FIXME: Nothing must go wrong during GC else we end up running
#endif
FSHOW((stderr, "/maybe_gc: calling SUB_GC\n"));
/* FIXME: Nothing must go wrong during GC else we end up running
@@
-2454,15
+2453,19
@@
maybe_gc(os_context_t *context)
* here. */
((SymbolValue(INTERRUPTS_ENABLED,thread) != NIL) ||
(SymbolValue(ALLOW_WITH_INTERRUPTS,thread) != NIL))) {
* here. */
((SymbolValue(INTERRUPTS_ENABLED,thread) != NIL) ||
(SymbolValue(ALLOW_WITH_INTERRUPTS,thread) != NIL))) {
+#ifndef LISP_FEATURE_WIN32
sigset_t *context_sigmask = os_context_sigmask_addr(context);
sigset_t *context_sigmask = os_context_sigmask_addr(context);
- if (!deferrables_blocked_in_sigset_p(context_sigmask)) {
- FSHOW((stderr, "/maybe_gc: calling POST_GC\n"));
+ if (!deferrables_blocked_p(context_sigmask)) {
thread_sigmask(SIG_SETMASK, context_sigmask, 0);
thread_sigmask(SIG_SETMASK, context_sigmask, 0);
- check_gc_signals_unblocked_or_lose();
+ check_gc_signals_unblocked_or_lose(0);
+#endif
+ FSHOW((stderr, "/maybe_gc: calling POST_GC\n"));
funcall0(StaticSymbolFunction(POST_GC));
funcall0(StaticSymbolFunction(POST_GC));
+#ifndef LISP_FEATURE_WIN32
} else {
FSHOW((stderr, "/maybe_gc: punting on POST_GC due to blockage\n"));
}
} else {
FSHOW((stderr, "/maybe_gc: punting on POST_GC due to blockage\n"));
}
+#endif
}
undo_fake_foreign_function_call(context);
FSHOW((stderr, "/maybe_gc: returning\n"));
}
undo_fake_foreign_function_call(context);
FSHOW((stderr, "/maybe_gc: returning\n"));