fix another internal deadlock.
This commit is contained in:
parent
6da3d91f78
commit
7e98e5acdb
@ -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;
|
||||||
|
Reference in New Issue
Block a user