diff --git a/rts/RaiseAsync.c b/rts/RaiseAsync.c index 2f072d551a75cbfb87ee172ac0ccc5d56b01c485..a31562224db8c19f0ebb958b41f2f17bbb0f0945 100644 --- a/rts/RaiseAsync.c +++ b/rts/RaiseAsync.c @@ -672,16 +672,7 @@ removeFromQueues(Capability *cap, StgTSO *tso) } done: - tso->_link = END_TSO_QUEUE; // no write barrier reqd - tso->why_blocked = NotBlocked; - tso->block_info.closure = NULL; - appendToRunQueue(cap,tso); - - // We might have just migrated this TSO to our Capability: - if (tso->bound) { - tso->bound->cap = cap; - } - tso->cap = cap; + unblockOne(cap, tso); } /* -----------------------------------------------------------------------------