From 2acf6fcc878fad6c432b12e0239f5970561fd758 Mon Sep 17 00:00:00 2001 From: bdemsky Date: Mon, 9 Mar 2009 18:06:15 +0000 Subject: [PATCH] bug fix --- Robust/src/Runtime/thread.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Robust/src/Runtime/thread.c b/Robust/src/Runtime/thread.c index f25c9d03..7086ed71 100644 --- a/Robust/src/Runtime/thread.c +++ b/Robust/src/Runtime/thread.c @@ -203,10 +203,17 @@ transstart: #ifdef THREADS void CALL01(___Thread______nativeJoin____, struct ___Thread___ * ___this___) { +#ifdef PRECISE_GC + struct listitem *tmp=stopforgc((struct garbagelist *)___params___); +#endif pthread_mutex_lock(&joinlock); while(!VAR(___this___)->___finished___) pthread_cond_wait(&joincond, &joinlock); pthread_mutex_unlock(&joinlock); +#ifdef PRECISE_GC + restartaftergc(tmp); +#endif + } void CALL01(___Thread______nativeCreate____, struct ___Thread___ * ___this___) { -- 2.34.1