Improve error messsage when argument count varies
[ghc-hetmet.git] / ghc / rts / Exception.h
index 291ad20..f7832f4 100644 (file)
@@ -1,12 +1,14 @@
 /* -----------------------------------------------------------------------------
- * $Id: Exception.h,v 1.7 2003/11/12 17:49:07 sof Exp $
  *
- * (c) The GHC Team, 1998-2000
+ * (c) The GHC Team, 1998-2005
  *
  * Exception support
  *
  * ---------------------------------------------------------------------------*/
 
+#ifndef EXCEPTION_H
+#define EXCEPTION_H
+
 extern const StgRetInfoTable stg_blockAsyncExceptionszh_ret_info;
 extern const StgRetInfoTable stg_unblockAsyncExceptionszh_ret_info;
 
@@ -14,7 +16,7 @@ extern const StgRetInfoTable stg_unblockAsyncExceptionszh_ret_info;
  * indefinitely).  Interruptible threads can be sent an exception with
  * killThread# even if they have async exceptions blocked.
  */
-INLINE_HEADER int
+STATIC_INLINE int
 interruptible(StgTSO *t)
 {
   switch (t->why_blocked) {
@@ -22,12 +24,17 @@ interruptible(StgTSO *t)
   case BlockedOnException:
   case BlockedOnRead:
   case BlockedOnWrite:
-#if defined(mingw32_TARGET_OS)
+#if defined(mingw32_HOST_OS)
   case BlockedOnDoProc:
 #endif
   case BlockedOnDelay:
     return 1;
+  // NB. Threaded blocked on foreign calls (BlockedOnCCall) are
+  // *not* interruptible.  We can't send these threads an exception.
   default:
     return 0;
   }
 }
+
+#endif /* EXCEPTION_H */
+