From 6a4d9ef41a89911c9f1eb69600a32ba57bca4cad Mon Sep 17 00:00:00 2001 From: vsc Date: Wed, 8 Sep 2004 18:09:26 +0000 Subject: [PATCH] fix correctly the bug in coroutining: Yap should join the two goals. git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1129 b08c6af1-5177-4d33-ba66-4b1c6b8b522a --- C/tracer.c | 4 ---- pl/corout.yap | 3 ++- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/C/tracer.c b/C/tracer.c index 5f1fc5082..413f95013 100644 --- a/C/tracer.c +++ b/C/tracer.c @@ -120,10 +120,6 @@ low_level_trace(yap_low_level_port port, PredEntry *pred, CELL *args) /* extern int gc_calls; */ vsc_count++; - if (vsc_count < 845900) - return; - if (vsc_count == 845979) - jmp_deb(1); #ifdef COMMENTED // if (vsc_count == 218280) // vsc_xstop = 1; diff --git a/pl/corout.yap b/pl/corout.yap index 40c4946a1..a66c45bff 100644 --- a/pl/corout.yap +++ b/pl/corout.yap @@ -220,7 +220,8 @@ dif(_, _). % % check if the variable was really bound % -'$redo_freeze'(Done, V, _) :- var(V), !. +'$redo_freeze'(Done, V, G) :- var(V), !, + '$freeze'(V, '$redo_freeze'(Done,V,G)). % % I can't believe it: we're done and can actually execute our % goal. Notice we have to say we are done, otherwise someone else in