From: simonmar Date: Tue, 15 Feb 2005 11:39:52 +0000 (+0000) Subject: [project @ 2005-02-15 11:39:52 by simonmar] X-Git-Tag: Initial_conversion_from_CVS_complete~1067 X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=c435fef8d44b5681ccee43efe588d5b6bdd71e72 [project @ 2005-02-15 11:39:52 by simonmar] remove race conditions in the recent in_haskell sanity check code --- diff --git a/ghc/rts/Schedule.c b/ghc/rts/Schedule.c index 89ba7d4..6f4e5f9 100644 --- a/ghc/rts/Schedule.c +++ b/ghc/rts/Schedule.c @@ -1600,10 +1600,10 @@ suspendThread( StgRegTable *reg ) IF_DEBUG(scheduler, sched_belch("worker (token %d): leaving RTS", tok)); #endif + in_haskell = rtsFalse; RELEASE_LOCK(&sched_mutex); errno = saved_errno; - in_haskell = rtsFalse; return tok; } @@ -1648,9 +1648,9 @@ resumeThread( StgInt tok ) tso->why_blocked = NotBlocked; cap->r.rCurrentTSO = tso; + in_haskell = rtsTrue; RELEASE_LOCK(&sched_mutex); errno = saved_errno; - in_haskell = rtsTrue; return &cap->r; }