fix another internal deadlock.

This commit is contained in:
Vitor Santos Costa 2009-04-17 14:17:43 -05:00
parent 6da3d91f78
commit 7e98e5acdb
1 changed files with 4 additions and 1 deletions

View File

@ -1857,6 +1857,10 @@ Yap_absmi(int inp)
/* fail */ /* fail */
PBOp(op_fail, e); PBOp(op_fail, e);
if (PP) {
UNLOCK(PP->PELock);
PP = NULL;
}
#ifdef COROUTINING #ifdef COROUTINING
CACHE_Y_AS_ENV(YREG); CACHE_Y_AS_ENV(YREG);
check_stack(NoStackFail, H); check_stack(NoStackFail, H);
@ -2737,7 +2741,6 @@ Yap_absmi(int inp)
/* Problem: have I got an environment or not? */ /* Problem: have I got an environment or not? */
NoStackFail: NoStackFail:
PP = NULL;
/* find something to fool S */ /* find something to fool S */
if (!ActiveSignals || ActiveSignals & YAP_CDOVF_SIGNAL) { if (!ActiveSignals || ActiveSignals & YAP_CDOVF_SIGNAL) {
goto fail; goto fail;