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
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);
}
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;