[project @ 2005-01-22 12:18:49 by panne]
[ghc-base.git] / System / Posix / Signals.hsc
index db68d28..7318e5d 100644 (file)
@@ -94,6 +94,8 @@ module System.Posix.Signals (
 #endif
   ) where
 
+import Prelude -- necessary to get dependencies right
+
 #ifdef __GLASGOW_HASKELL__
 #include "Signals.h"
 #else
@@ -287,8 +289,13 @@ foreign import ccall unsafe "killpg"
 raiseSignal :: Signal -> IO ()
 raiseSignal sig = throwErrnoIfMinus1_ "raiseSignal" (c_raise sig)
 
+#if defined(__GLASGOW_HASKELL__) && (defined(openbsd_TARGET_OS) || defined(freebsd_TARGET_OS))
+foreign import ccall unsafe "genericRaise"
+  c_raise :: CInt -> IO CInt
+#else
 foreign import ccall unsafe "raise"
   c_raise :: CInt -> IO CInt
+#endif
 
 #ifdef __GLASGOW_HASKELL__
 data Handler = Default