From fd781fd68f2488c71b6ac2338f9421bd7cd16bff Mon Sep 17 00:00:00 2001 From: Jens Nolte <git@queezle.net> Date: Sun, 21 Nov 2021 01:59:18 +0100 Subject: [PATCH] Add registerAsyncDisposeAction Co-authored-by: Jan Beinke <git@janbeinke.com> --- src/Quasar/ResourceManager.hs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Quasar/ResourceManager.hs b/src/Quasar/ResourceManager.hs index 742216c..aefeb80 100644 --- a/src/Quasar/ResourceManager.hs +++ b/src/Quasar/ResourceManager.hs @@ -8,6 +8,7 @@ module Quasar.ResourceManager ( registerNewResource_, registerDisposable, registerDisposeAction, + registerAsyncDisposeAction, withScopedResourceManager, onResourceManager, captureDisposable, @@ -133,6 +134,9 @@ registerDisposable disposable = do registerDisposeAction :: MonadResourceManager m => IO () -> m () registerDisposeAction disposeAction = mask_ $ registerDisposable =<< newDisposable disposeAction +registerAsyncDisposeAction :: MonadResourceManager m => IO () -> m () +registerAsyncDisposeAction disposeAction = mask_ $ registerDisposable =<< newAsyncDisposable disposeAction + -- | Locks the resource manager (which may fail), runs the computation and registeres the resulting disposable. -- -- The computation will be run in masked state. -- GitLab