From b519b8a89906b789c730ac56e72df8305e7a3655 Mon Sep 17 00:00:00 2001 From: Jens Nolte <git@queezle.net> Date: Tue, 29 Mar 2022 22:22:31 +0200 Subject: [PATCH] Rename forkAsync to forkFuture --- src/Quasar/Async/Fork.hs | 16 ++++++++-------- src/Quasar/Resources.hs | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Quasar/Async/Fork.hs b/src/Quasar/Async/Fork.hs index cc35be9..3dfd70e 100644 --- a/src/Quasar/Async/Fork.hs +++ b/src/Quasar/Async/Fork.hs @@ -4,8 +4,8 @@ module Quasar.Async.Fork ( -- ** IO forkWithUnmask, forkWithUnmask_, - forkAsync, - forkAsyncWithUnmask, + forkFuture, + forkFutureWithUnmask, -- ** STM forkSTM, @@ -44,11 +44,11 @@ forkWithUnmaskSTM_ fn worker exChan = void $ forkWithUnmaskSTM fn worker exChan forkAsyncSTM :: forall a. IO a -> TIOWorker -> ExceptionSink -> STM (Future a) -- TODO change TIOWorker behavior for spawning threads, so no `unsafeShortIO` is necessary -forkAsyncSTM fn worker exChan = join <$> startShortIOSTM (unsafeShortIO $ forkAsync fn exChan) worker exChan +forkAsyncSTM fn worker exChan = join <$> startShortIOSTM (unsafeShortIO $ forkFuture fn exChan) worker exChan forkAsyncWithUnmaskSTM :: forall a. ((forall b. IO b -> IO b) -> IO a) -> TIOWorker -> ExceptionSink -> STM (Future a) -- TODO change TIOWorker behavior for spawning threads, so no `unsafeShortIO` is necessary -forkAsyncWithUnmaskSTM fn worker exChan = join <$> startShortIOSTM (unsafeShortIO $ forkAsyncWithUnmask fn exChan) worker exChan +forkAsyncWithUnmaskSTM fn worker exChan = join <$> startShortIOSTM (unsafeShortIO $ forkFutureWithUnmask fn exChan) worker exChan -- * Fork in IO, redirecting errors to an ExceptionSink @@ -65,11 +65,11 @@ forkWithUnmask_ fn exChan = void $ forkWithUnmask fn exChan -- * Fork in IO while collecting the result, redirecting errors to an ExceptionSink -forkAsync :: forall a. IO a -> ExceptionSink -> IO (Future a) -forkAsync fn = forkAsyncWithUnmask ($ fn) +forkFuture :: forall a. IO a -> ExceptionSink -> IO (Future a) +forkFuture fn = forkFutureWithUnmask ($ fn) -forkAsyncWithUnmask :: forall a. ((forall b. IO b -> IO b) -> IO a) -> ExceptionSink -> IO (Future a) -forkAsyncWithUnmask fn exChan = do +forkFutureWithUnmask :: forall a. ((forall b. IO b -> IO b) -> IO a) -> ExceptionSink -> IO (Future a) +forkFutureWithUnmask fn exChan = do resultVar <- newPromise forkWithUnmask_ (runAndPut resultVar) exChan pure $ toFuture resultVar diff --git a/src/Quasar/Resources.hs b/src/Quasar/Resources.hs index e3d8356..fec5825 100644 --- a/src/Quasar/Resources.hs +++ b/src/Quasar/Resources.hs @@ -49,7 +49,7 @@ import Quasar.Utils.ShortIO newUnmanagedIODisposer :: IO () -> TIOWorker -> ExceptionSink -> STM Disposer -- TODO change TIOWorker behavior for spawning threads, so no `unsafeShortIO` is necessary -newUnmanagedIODisposer fn worker exChan = newUnmanagedPrimitiveDisposer (unsafeShortIO $ forkAsync fn exChan) worker exChan +newUnmanagedIODisposer fn worker exChan = newUnmanagedPrimitiveDisposer (unsafeShortIO $ forkFuture fn exChan) worker exChan newUnmanagedSTMDisposer :: STM () -> TIOWorker -> ExceptionSink -> STM Disposer newUnmanagedSTMDisposer fn worker exChan = newUnmanagedPrimitiveDisposer disposeFn worker exChan -- GitLab