remove race conditions in the recent in_haskell sanity check code
IF_DEBUG(scheduler, sched_belch("worker (token %d): leaving RTS", tok));
#endif
IF_DEBUG(scheduler, sched_belch("worker (token %d): leaving RTS", tok));
#endif
RELEASE_LOCK(&sched_mutex);
errno = saved_errno;
RELEASE_LOCK(&sched_mutex);
errno = saved_errno;
tso->why_blocked = NotBlocked;
cap->r.rCurrentTSO = tso;
tso->why_blocked = NotBlocked;
cap->r.rCurrentTSO = tso;
RELEASE_LOCK(&sched_mutex);
errno = saved_errno;
RELEASE_LOCK(&sched_mutex);
errno = saved_errno;