From ce3a193ae76de120c90e3b413ea4565cfddea593 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Mon, 25 Jan 2010 09:01:04 +0000 Subject: [PATCH] fix forgotten unlocks. --- C/absmi.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/C/absmi.c b/C/absmi.c index 27323a373..2287c93ec 100644 --- a/C/absmi.c +++ b/C/absmi.c @@ -8053,6 +8053,7 @@ Yap_absmi(int inp) UNLOCK(pe->StatisticsForPred.lock); ReductionsCounter--; if (ReductionsCounter == 0 && ReductionsCounterOn) { + UNLOCK(pe->PELock); saveregs(); Yap_Error(CALL_COUNTER_UNDERFLOW,TermNil,""); setregs(); @@ -8060,6 +8061,7 @@ Yap_absmi(int inp) } PredEntriesCounter--; if (PredEntriesCounter == 0 && PredEntriesCounterOn) { + UNLOCK(pe->PELock); saveregs(); Yap_Error(PRED_ENTRY_COUNTER_UNDERFLOW,TermNil,""); setregs(); @@ -8068,6 +8070,7 @@ Yap_absmi(int inp) if ((pe->PredFlags & (CountPredFlag|ProfiledPredFlag|SpiedPredFlag)) == CountPredFlag) { PREG = pe->cs.p_code.TrueCodeOfPred; + UNLOCK(pe->PELock); JMPNext(); } } @@ -8078,6 +8081,7 @@ Yap_absmi(int inp) UNLOCK(pe->StatisticsForPred.lock); if (!(pe->PredFlags & SpiedPredFlag)) { PREG = pe->cs.p_code.TrueCodeOfPred; + UNLOCK(pe->PELock); JMPNext(); } }