From c435fef8d44b5681ccee43efe588d5b6bdd71e72 Mon Sep 17 00:00:00 2001 From: simonmar Date: Tue, 15 Feb 2005 11:39:52 +0000 Subject: [PATCH] [project @ 2005-02-15 11:39:52 by simonmar] remove race conditions in the recent in_haskell sanity check code --- ghc/rts/Schedule.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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; } -- 1.7.10.4