locking fixes.

This commit is contained in:
Vitor Santos Costa 2009-04-16 11:19:26 -05:00
parent b903602ac1
commit 9624026beb
2 changed files with 1 additions and 6 deletions

View File

@ -3032,8 +3032,8 @@ Yap_absmi(int inp)
{
CreepFlag = CalculateStackGap();
SREG = (CELL *) CreepCode;
UNLOCK(SignalLock);
}
UNLOCK(SignalLock);
PREG = ((PredEntry *)SREG)->CodeOfPred;
#ifdef LOW_LEVEL_TRACER
if (Yap_do_low_level_trace)
@ -14012,7 +14012,6 @@ Yap_absmi(int inp)
FAIL();
}
setregs_and_ycache();
LOCK(SignalLock);
ActiveSignals &= ~YAP_TROVF_SIGNAL;
CreepFlag = CalculateStackGap();
if (!ActiveSignals) {

View File

@ -624,11 +624,9 @@ p_execute_clause(void)
} else {
code = Yap_ClauseFromTerm(clt)->ClCode;
}
LOCK(SignalLock);
if (ActiveSignals & YAP_CREEP_SIGNAL) {
Yap_signal(YAP_CREEP_SIGNAL);
}
UNLOCK(SignalLock);
return CallPredicate(RepPredProp(pe), cut_cp, code);
}
@ -751,11 +749,9 @@ p_execute_nonstop(void)
}
/* N = arity; */
/* call may not define new system predicates!! */
LOCK(SignalLock);
if (ActiveSignals & YAP_CREEP_SIGNAL) {
Yap_signal(YAP_CREEP_SIGNAL);
}
UNLOCK(SignalLock);
if (RepPredProp(pe)->PredFlags & SpiedPredFlag) {
return CallPredicate(RepPredProp(pe), B, RepPredProp(pe)->cs.p_code.TrueCodeOfPred);
} else if ((RepPredProp(pe)->PredFlags & (AsmPredFlag|CPredFlag)) &&