From: bdemsky Date: Mon, 9 Mar 2009 18:06:15 +0000 (+0000) Subject: bug fix X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=2acf6fcc878fad6c432b12e0239f5970561fd758;p=IRC.git bug fix --- 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___) {