fix creep handling
This commit is contained in:
parent
87a0a7af74
commit
0a64e9f062
@ -903,8 +903,10 @@ interrupt_fail( USES_REGS1 )
|
|||||||
be recovered. automatically by fail, so
|
be recovered. automatically by fail, so
|
||||||
better wait.
|
better wait.
|
||||||
*/
|
*/
|
||||||
if (!Yap_has_a_signal() ||
|
if (Yap_has_signal( YAP_CREEP_SIGNAL ) ) {
|
||||||
Yap_has_signals( YAP_CDOVF_SIGNAL, YAP_CREEP_SIGNAL )) {
|
return FALSE;
|
||||||
|
}
|
||||||
|
if (Yap_has_signal( YAP_CDOVF_SIGNAL ) ) {
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
/* make sure we have the correct environment for continuation */
|
/* make sure we have the correct environment for continuation */
|
||||||
@ -1207,8 +1209,7 @@ interrupt_dexecute( USES_REGS1 )
|
|||||||
#endif
|
#endif
|
||||||
PP = P->y_u.pp.p0;
|
PP = P->y_u.pp.p0;
|
||||||
pe = P->y_u.pp.p;
|
pe = P->y_u.pp.p;
|
||||||
if (Yap_get_signal(YAP_CREEP_SIGNAL) &&
|
if ((PP->ExtraPredFlags & (NoTracePredFlag|HiddenPredFlag)) && Yap_only_has_signal(YAP_CREEP_SIGNAL)) {
|
||||||
(PP->ExtraPredFlags & (NoTracePredFlag|HiddenPredFlag))) {
|
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
/* set S for next instructions */
|
/* set S for next instructions */
|
||||||
|
Reference in New Issue
Block a user