Reshuffle GHC.Conc/GHC.TopHandler a bit to remove a recursive import
authorIan Lynagh <igloo@earth.li>
Fri, 1 Aug 2008 21:18:01 +0000 (21:18 +0000)
committerIan Lynagh <igloo@earth.li>
Fri, 1 Aug 2008 21:18:01 +0000 (21:18 +0000)
GHC/Conc.lhs
GHC/TopHandler.lhs

index 1b61036..a584d31 100644 (file)
@@ -95,6 +95,7 @@ module GHC.Conc
         , win32ConsoleHandler
         , toWin32ConsoleEvent
 #endif
+        , reportError, reportStackOverflow
         ) where
 
 import System.Posix.Types
@@ -104,10 +105,6 @@ import System.Posix.Internals
 import Foreign
 import Foreign.C
 
-#ifndef __HADDOCK__
-import {-# SOURCE #-} GHC.TopHandler ( reportError, reportStackOverflow )
-#endif
-
 import Data.Maybe
 
 import GHC.Base
@@ -127,6 +124,8 @@ import GHC.Ptr          ( Ptr(..), plusPtr, FunPtr(..) )
 import GHC.STRef
 import GHC.Show         ( Show(..), showString )
 import Data.Typeable
+import GHC.Err
+import Control.Exception hiding (throwTo)
 
 infixr 0 `par`, `pseq`
 \end{code}
@@ -1252,4 +1251,17 @@ foreign import ccall unsafe "sizeof_fd_set"
 
 #endif
 
+reportStackOverflow :: IO a
+reportStackOverflow = do callStackOverflowHook; return undefined
+
+reportError :: SomeException -> IO a
+reportError ex = do
+   handler <- getUncaughtExceptionHandler
+   handler ex
+   return undefined
+
+-- SUP: Are the hooks allowed to re-enter Haskell land?  If so, remove
+-- the unsafe below.
+foreign import ccall unsafe "stackOverflow"
+        callStackOverflowHook :: IO ()
 \end{code}
index ac6523b..39f4a4f 100644 (file)
@@ -169,20 +169,6 @@ real_handler exit se@(SomeException exn) =
                    exit 1
            
 
-reportStackOverflow :: IO a
-reportStackOverflow = do callStackOverflowHook; return undefined
-
-reportError :: SomeException -> IO a
-reportError ex = do
-   handler <- getUncaughtExceptionHandler
-   handler ex
-   return undefined
-
--- SUP: Are the hooks allowed to re-enter Haskell land?  If so, remove
--- the unsafe below.
-foreign import ccall unsafe "stackOverflow"
-        callStackOverflowHook :: IO ()
-
 -- try to flush stdout/stderr, but don't worry if we fail
 -- (these handles might have errors, and we don't want to go into
 -- an infinite loop).