+ 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 */
+
+ StgTSOWhatNext what_next : 16;
+ StgTSOBlockReason why_blocked : 16;
+ StgTSOBlockInfo block_info;
+ struct StgTSO_* blocked_exceptions;
+ StgThreadID id;
+ int saved_errno;
+ struct StgMainThread_* main;
+
+ MAYBE_EMPTY_STRUCT(StgTSOTickyInfo,ticky)
+ MAYBE_EMPTY_STRUCT(StgTSOProfInfo,prof)
+ MAYBE_EMPTY_STRUCT(StgTSOParInfo,par)
+ MAYBE_EMPTY_STRUCT(StgTSOGranInfo,gran)
+ MAYBE_EMPTY_STRUCT(StgTSODistInfo,dist)
+