eventloop-0.8.2.8: src/Eventloop/System/DisplayExceptionThread.hs
module Eventloop.System.DisplayExceptionThread
( startDisplayingExceptions
) where
import qualified Control.Exception as E
import Control.Concurrent.ExceptionCollection
import Control.Concurrent.SafePrint
import Eventloop.Types.Exception
import Eventloop.Types.System
startDisplayingExceptions :: EventloopSystemConfiguration progstateT
-> IO ()
startDisplayingExceptions systemConfig
= do
exceptions_ <- collectExceptions (exceptions systemConfig)
mapM_ (displayException safePrintToken_) exceptions_
where
safePrintToken_ = safePrintToken (sharedIOConstants systemConfig)
displayException :: SafePrintToken
-> E.SomeException
-> IO ()
displayException safePrintToken exception = safePrintLn safePrintToken (show exception)