1 /* -----------------------------------------------------------------------------
2 * $Id: Exception.h,v 1.8 2004/03/01 14:18:35 simonmar Exp $
4 * (c) The GHC Team, 1998-2000
8 * ---------------------------------------------------------------------------*/
10 extern const StgRetInfoTable stg_blockAsyncExceptionszh_ret_info;
11 extern const StgRetInfoTable stg_unblockAsyncExceptionszh_ret_info;
13 /* Determine whether a thread is interruptible (ie. blocked
14 * indefinitely). Interruptible threads can be sent an exception with
15 * killThread# even if they have async exceptions blocked.
18 interruptible(StgTSO *t)
20 switch (t->why_blocked) {
22 case BlockedOnException:
25 #if defined(mingw32_TARGET_OS)
30 // NB. Threaded blocked on foreign calls (BlockedOnCCall) are
31 // *not* interruptible. We can't send these threads an exception.