projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 2005-02-10 13:01:52 by simonmar]
[ghc-hetmet.git]
/
ghc
/
includes
/
TSO.h
diff --git
a/ghc/includes/TSO.h
b/ghc/includes/TSO.h
index
8592cb8
..
2eca88a
100644
(file)
--- a/
ghc/includes/TSO.h
+++ b/
ghc/includes/TSO.h
@@
-1,5
+1,5
@@
/* -----------------------------------------------------------------------------
/* -----------------------------------------------------------------------------
- * $Id: TSO.h,v 1.37 2004/11/08 12:26:57 simonmar Exp $
+ * $Id: TSO.h,v 1.41 2005/02/10 13:02:05 simonmar Exp $
*
* (c) The GHC Team, 1998-1999
*
*
* (c) The GHC Team, 1998-1999
*
@@
-85,7
+85,7
@@
typedef StgWord32 StgThreadID;
*/
typedef unsigned int StgThreadReturnCode;
*/
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;
/* results from an async I/O request + it's ID. */
typedef struct {
unsigned int reqID;
@@
-97,11
+97,11
@@
typedef struct {
typedef union {
StgClosure *closure;
struct StgTSO_ *tso;
typedef union {
StgClosure *closure;
struct StgTSO_ *tso;
- int fd;
-#if defined(mingw32_TARGET_OS)
+ StgInt fd; // StgInt instead of int, so that it's the same size as the ptrs
+#if defined(mingw32_HOST_OS)
StgAsyncIOResult* async_result;
#endif
StgAsyncIOResult* async_result;
#endif
- unsigned int target;
+ StgWord target;
} StgTSOBlockInfo;
/*
} StgTSOBlockInfo;
/*
@@
-126,7
+126,6
@@
typedef struct StgTSO_ {
StgHeader header;
struct StgTSO_* link; // Links threads onto blocking queues */
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
struct StgTSO_* global_link; // Links all threads together */
StgWord16 what_next; // Values defined in Constants.h
@@
-136,6
+135,7
@@
typedef struct StgTSO_ {
StgThreadID id;
int saved_errno;
struct StgMainThread_* main;
StgThreadID id;
int saved_errno;
struct StgMainThread_* main;
+ struct StgTRecHeader_ *trec; // STM transaction record
#ifdef TICKY_TICKY
// TICKY-specific stuff would go here.
#ifdef TICKY_TICKY
// TICKY-specific stuff would go here.
@@
-183,6
+183,8
@@
typedef struct StgTSO_ {
BlockedOnBlackHole the BLACKHOLE_BQ the BLACKHOLE_BQ's queue
BlockedOnMVar the MVAR the MVAR's queue
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
BlockedOnException the TSO TSO->blocked_exception