handle locking more carefully (especially protect gc and stack shifting).
This commit is contained in:
@@ -432,9 +432,11 @@ p_dif( USES_REGS1 )
|
||||
#ifdef COROUTINING
|
||||
/* now restore Woken Goals to its old value */
|
||||
Yap_UpdateTimedVar(LOCAL_WokenGoals, OldWokenGoals);
|
||||
LOCK(LOCAL_SignalLock);
|
||||
if (OldWokenGoals == TermNil) {
|
||||
Yap_undo_signal(YAP_WAKEUP_SIGNAL);
|
||||
}
|
||||
UNLOCK(LOCAL_SignalLock);
|
||||
#endif
|
||||
/* restore B */
|
||||
B = pt1;
|
||||
|
||||
Reference in New Issue
Block a user