/* -----------------------------------------------------------------------------
- * $Id: TSO.h,v 1.38 2004/11/10 02:13:12 wolfgang Exp $
+ * $Id: TSO.h,v 1.41 2005/02/10 13:02:05 simonmar Exp $
*
* (c) The GHC Team, 1998-1999
*
*/
typedef unsigned int StgThreadReturnCode;
-#if defined(mingw32_TARGET_OS)
+#if defined(mingw32_HOST_OS)
/* results from an async I/O request + it's ID. */
typedef struct {
unsigned int reqID;
StgClosure *closure;
struct StgTSO_ *tso;
StgInt fd; // StgInt instead of int, so that it's the same size as the ptrs
-#if defined(mingw32_TARGET_OS)
+#if defined(mingw32_HOST_OS)
StgAsyncIOResult* async_result;
#endif
StgWord target;
StgHeader header;
struct StgTSO_* link; // Links threads onto blocking queues */
- StgMutClosure * mut_link; // TSO's are mutable of course! */
struct StgTSO_* global_link; // Links all threads together */
StgWord16 what_next; // Values defined in Constants.h
StgThreadID id;
int saved_errno;
struct StgMainThread_* main;
+ struct StgTRecHeader_ *trec; // STM transaction record
#ifdef TICKY_TICKY
// TICKY-specific stuff would go here.
BlockedOnBlackHole the BLACKHOLE_BQ the BLACKHOLE_BQ's queue
BlockedOnMVar the MVAR the MVAR's queue
+
+ BlockedOnSTM END_TSO_QUEUE STM wait queue(s)
BlockedOnException the TSO TSO->blocked_exception