Please sign in to comment.
This is a more robust version of "forkIO (m `finally` k)", because it closes a window between thread creation and the finally where the thread can receive an async exception. Useful for layers over threads that need to catch threads dying with absolute certainty. forkFinally :: IO a -> (Either SomeException a -> IO ()) -> IO ThreadId forkFinally action and_then = mask $ \restore -> forkIO $ try (restore action) >>= and_then
- Loading branch information...