Skip to content
Snippets Groups Projects
Commit d5cf97c3 authored by Jens Nolte's avatar Jens Nolte
Browse files

Improve execForeignQuasarIO


Co-authored-by: default avatarJan Beinke <git@janbeinke.com>
parent eb7cc853
No related branches found
No related tags found
No related merge requests found
......@@ -15,16 +15,23 @@ import Control.Concurrent.STM
import Control.Monad.Catch
import Control.Monad.Reader
import Data.List.NonEmpty
import Quasar.Awaitable
import Quasar.Async
import Quasar.Async.STMHelper
import Quasar.Exceptions.ExceptionChannel
import Quasar.MonadQuasar
import Quasar.Prelude
import Quasar.Resources
import Quasar.Utils.Exceptions
import System.Exit
execForeignQuasarIO :: MonadIO m => Quasar -> QuasarIO () -> m ()
execForeignQuasarIO quasar fn = runQuasarIO quasar $ redirectExceptionToSink_ fn
execForeignQuasarIO quasar fn = runQuasarIO quasar $
bracket
(async fn)
dispose
awaitSuccessOrFailure
execForeignQuasarSTM :: MonadQuasar m => Quasar -> QuasarSTM () -> m ()
execForeignQuasarSTM quasar fn = ensureQuasarSTM $ localQuasar quasar $ redirectExceptionToSink_ fn
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment