From 562372bb5ae5b2a7220503962df9335c085cb279 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Sun, 10 Mar 2013 16:38:01 +0000 Subject: [PATCH] fix instance on database --- C/dbase.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/C/dbase.c b/C/dbase.c index 3f4f05d41..eb7660818 100755 --- a/C/dbase.c +++ b/C/dbase.c @@ -1893,7 +1893,6 @@ record_lu(PredEntry *pe, Term t, int position) return NULL; } { - CACHE_REGS Yap_inform_profiler_of_clause(cl, (char *)cl+cl->ClSize, pe, GPROF_NEW_LU_CLAUSE); } Yap_add_logupd_clause(pe, cl, (position == MkFirst ? 2 : 0)); @@ -4740,7 +4739,13 @@ p_instance( USES_REGS1 ) YENV = ASP; YENV[E_CB] = (CELL) B; P = cl->ClCode; - UNLOCK(ap->PELock); +#if defined(YAPOR) || defined(THREADS) + if (ap->PredFlags & ThreadLocalPredFlag) { + UNLOCK(ap->PELock); + } else { + PP = ap; + } +#endif return TRUE; } }