lispobj *result;
struct thread *th = arch_os_get_current_thread();
+ /* SIG_STOP_FOR_GC needs to be enabled before we can call lisp:
+ * otherwise two threads racing here may deadlock: the other will
+ * wait on the GC lock, and the other cannot stop the first
+ * one... */
+ check_gc_signals_unblocked_or_lose();
+
/* FIXME: OOAO violation: see arch_pseudo_* */
- clear_pseudo_atomic_interrupted(th);
set_pseudo_atomic_atomic(th);
result = general_alloc(bytes, page_type_flag);
#if 0