- SetSymbolValue(PSEUDO_ATOMIC_ATOMIC, make_fixnum(0));
- if (SymbolValue(PSEUDO_ATOMIC_INTERRUPTED))
- /* even if we gc at this point, the new allocation will be
- * protected from being moved, because result is on the c stack
- * and points to it */
- do_pending_interrupt();
- return result;
+ SetSymbolValue(PSEUDO_ATOMIC_ATOMIC, make_fixnum(0),th);
+ if (fixnum_value(SymbolValue(PSEUDO_ATOMIC_INTERRUPTED,th)))
+ /* even if we gc at this point, the new allocation will be
+ * protected from being moved, because result is on the c stack
+ * and points to it */
+ do_pending_interrupt();
+ return result;