X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=rts%2FThreads.c;h=7344134a7d5a0d54e6a1d6bc60aa66c7c8277842;hp=5723eace8ce589693851d6f2ae6c98cfc391a2e5;hb=83d563cb9ede0ba792836e529b1e2929db926355;hpb=efc8935d189cc6a01e3644157023169fe65d58e5 diff --git a/rts/Threads.c b/rts/Threads.c index 5723eac..7344134 100644 --- a/rts/Threads.c +++ b/rts/Threads.c @@ -215,10 +215,14 @@ removeThreadFromDeQueue (Capability *cap, ------------------------------------------------------------------------- */ void -tryWakeupThread (Capability *cap, StgTSO *tso_) +tryWakeupThread (Capability *cap, StgTSO *tso) { - StgTSO *tso = deRefTSO(tso_); + tryWakeupThread_(cap, deRefTSO(tso)); +} +void +tryWakeupThread_ (Capability *cap, StgTSO *tso) +{ traceEventThreadWakeup (cap, tso, tso->cap->no); #ifdef THREADED_RTS @@ -384,6 +388,7 @@ updateThunk (Capability *cap, StgTSO *tso, StgClosure *thunk, StgClosure *val) i = thunk->header.info; if (i != &stg_BLACKHOLE_info && i != &stg_CAF_BLACKHOLE_info && + i != &__stg_EAGER_BLACKHOLE_info && i != &stg_WHITEHOLE_info) { updateWithIndirection(cap, thunk, val); return; @@ -487,8 +492,8 @@ printThreadBlockage(StgTSO *tso) case BlockedOnCCall: debugBelch("is blocked on an external call"); break; - case BlockedOnCCall_NoUnblockExc: - debugBelch("is blocked on an external call (exceptions were already blocked)"); + case BlockedOnCCall_Interruptible: + debugBelch("is blocked on an external call (but may be interrupted)"); break; case BlockedOnSTM: debugBelch("is blocked on an STM operation");