X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2Fwin32%2FAsyncIO.c;h=979df0cb272f649829144ef9759b6bbecda15142;hb=b2bd63f99d643f6b3eb30bb72bb9ae26d4183252;hp=5dedee0c70bebb8d728fb7d7b5999526c30b95f3;hpb=870b59f53cb97904096bfd6ea0e58ffc055a14ea;p=ghc-hetmet.git diff --git a/rts/win32/AsyncIO.c b/rts/win32/AsyncIO.c index 5dedee0..979df0c 100644 --- a/rts/win32/AsyncIO.c +++ b/rts/win32/AsyncIO.c @@ -276,20 +276,7 @@ start: prev = NULL; for(tso = blocked_queue_hd ; tso != END_TSO_QUEUE; tso = tso->_link) { - if (tso->what_next == ThreadRelocated) { - /* Drop the TSO from blocked_queue */ - if (prev) { - setTSOLink(&MainCapability, prev, tso->_link); - } else { - blocked_queue_hd = tso->_link; - } - if (blocked_queue_tl == tso) { - blocked_queue_tl = prev ? prev : END_TSO_QUEUE; - } - continue; - } - - switch(tso->why_blocked) { + switch(tso->why_blocked) { case BlockedOnRead: case BlockedOnWrite: case BlockedOnDoProc: @@ -317,7 +304,7 @@ start: // stg_block_async_info stack frame, because // the block_info field will be overwritten by // pushOnRunQueue(). - tso->sp[1] = (W_)tso->block_info.async_result; + tso->stackobj->sp[1] = (W_)tso->block_info.async_result; pushOnRunQueue(&MainCapability, tso); break; }