X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FThreads.c;h=6635ed51e550f174f1342d73cf8bb305906b44d3;hb=2e5f521ad4b18128d55fdc1076237e9ee04e790b;hp=e8a835bdaeb2bc08c98f429da4fcb74f004320b1;hpb=f4692220c7cbdadaa633f50eb2b30b59edb30183;p=ghc-hetmet.git diff --git a/rts/Threads.c b/rts/Threads.c index e8a835b..6635ed5 100644 --- a/rts/Threads.c +++ b/rts/Threads.c @@ -217,7 +217,12 @@ removeThreadFromDeQueue (Capability *cap, void tryWakeupThread (Capability *cap, StgTSO *tso) { + tryWakeupThread_(cap, deRefTSO(tso)); +} +void +tryWakeupThread_ (Capability *cap, StgTSO *tso) +{ traceEventThreadWakeup (cap, tso, tso->cap->no); #ifdef THREADED_RTS @@ -291,7 +296,7 @@ migrateThread (Capability *from, StgTSO *tso, Capability *to) traceEventMigrateThread (from, tso, to->no); // ThreadMigrating tells the target cap that it needs to be added to // the run queue when it receives the MSG_TRY_WAKEUP. - tso->what_next = ThreadMigrating; + tso->why_blocked = ThreadMigrating; tso->cap = to; tryWakeupThread(from, tso); } @@ -383,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;