/* -----------------------------------------------------------------------------
- * $Id: TSO.h,v 1.27 2002/06/26 08:18:41 stolz Exp $
+ * $Id: TSO.h,v 1.29 2003/01/25 15:54:48 wolfgang Exp $
*
* (c) The GHC Team, 1998-1999
*
* The what_next field of a TSO indicates how the thread is to be run.
*/
typedef enum {
- ThreadEnterGHC, /* enter top thunk on stack */
ThreadRunGHC, /* return to address on top of stack */
- ThreadEnterInterp, /* enter top thunk on stack (w/ interpreter) */
+ ThreadInterpret, /* interpret this thread */
ThreadKilled, /* thread has died, don't run it */
ThreadRelocated, /* thread has moved, link points to new locn */
ThreadComplete /* thread has finished */
, 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;
StgWord stack_size; /* stack size in *words* */
StgWord max_stack_size; /* maximum stack size in *words* */
StgPtr sp;
- StgUpdateFrame* su;
StgWord stack[FLEXIBLE_ARRAY];
} StgTSO;