X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2Fwin32%2FAsyncIO.c;h=5dedee0c70bebb8d728fb7d7b5999526c30b95f3;hb=d1fecad717e9cdf2da36147901acf0d7bbc9828c;hp=8662e2a3690cc96a4545e9777577634431cf611e;hpb=653e325e08c5f632aa194f9239e938faca5abba5;p=ghc-hetmet.git diff --git a/rts/win32/AsyncIO.c b/rts/win32/AsyncIO.c index 8662e2a..5dedee0 100644 --- a/rts/win32/AsyncIO.c +++ b/rts/win32/AsyncIO.c @@ -313,6 +313,11 @@ start: /* Terminates the run queue + this inner for-loop. */ tso->_link = END_TSO_QUEUE; tso->why_blocked = NotBlocked; + // save the StgAsyncIOResult in the + // 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; pushOnRunQueue(&MainCapability, tso); break; }