GHC.Conc.Sync: Pass TSO to stackOverflow
authorBen Gamari <bgamari.foss@gmail.com>
Sat, 7 Sep 2013 22:16:52 +0000 (18:16 -0400)
committerAustin Seipp <aseipp@pobox.com>
Fri, 25 Oct 2013 08:21:28 +0000 (03:21 -0500)
GHC/Conc/Sync.lhs

index 42d6c3d..ebb7226 100644 (file)
@@ -773,7 +773,9 @@ sharedCAF a get_or_set =
                 deRefStablePtr (castPtrToStablePtr (castPtr ref2))
 
 reportStackOverflow :: IO ()
-reportStackOverflow = callStackOverflowHook
+reportStackOverflow = do
+     ThreadId tid <- myThreadId
+     callStackOverflowHook tid
 
 reportError :: SomeException -> IO ()
 reportError ex = do
@@ -783,7 +785,7 @@ reportError ex = do
 -- SUP: Are the hooks allowed to re-enter Haskell land?  If so, remove
 -- the unsafe below.
 foreign import ccall unsafe "stackOverflow"
-        callStackOverflowHook :: IO ()
+        callStackOverflowHook :: ThreadId# -> IO ()
 
 {-# NOINLINE uncaughtExceptionHandler #-}
 uncaughtExceptionHandler :: IORef (SomeException -> IO ())