X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fincludes%2FTSO.h;h=7c6e1c048e2d3fe2f6f35f5e44b036ffb7da090c;hb=18340925716fb6e68672c69bd263ad9041f81822;hp=ed0f8706a01f502c40de76f06ff75b3af0f32d78;hpb=0bffc410964e1688ad80d277d53400659e697ab5;p=ghc-hetmet.git diff --git a/ghc/includes/TSO.h b/ghc/includes/TSO.h index ed0f870..7c6e1c0 100644 --- a/ghc/includes/TSO.h +++ b/ghc/includes/TSO.h @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: TSO.h,v 1.28 2002/12/11 15:36:40 simonmar Exp $ + * $Id: TSO.h,v 1.31 2003/07/03 15:14:58 sof Exp $ * * (c) The GHC Team, 1998-1999 * @@ -139,19 +139,36 @@ typedef enum { BlockedOnRead, BlockedOnWrite, BlockedOnDelay +#if defined(mingw32_TARGET_OS) + , BlockedOnDoProc +#endif #if defined(PAR) , BlockedOnGA // blocked on a remote closure represented by a Global Address , BlockedOnGA_NoSend // same as above but without sending a Fetch message #endif #if defined(RTS_SUPPORTS_THREADS) - , BlockedOnCCall + , BlockedOnCCall + , BlockedOnCCall_NoUnblockExc // same as above but don't unblock async exceptions + // in resumeThread() #endif } StgTSOBlockReason; +#if defined(mingw32_TARGET_OS) +/* results from an async I/O request + it's ID. */ +typedef struct { + unsigned int reqID; + int len; + int errCode; +} StgAsyncIOResult; +#endif + typedef union { StgClosure *closure; struct StgTSO_ *tso; int fd; +#if defined(mingw32_TARGET_OS) + StgAsyncIOResult* async_result; +#endif unsigned int target; } StgTSOBlockInfo;