From a458b56b89b15ba2388b203f82c1ca4a02ef1e84 Mon Sep 17 00:00:00 2001 From: Jens Nolte <git@queezle.net> Date: Wed, 25 Aug 2021 00:41:38 +0200 Subject: [PATCH] Add withResourceManager --- src/Quasar/Disposable.hs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Quasar/Disposable.hs b/src/Quasar/Disposable.hs index 29d9291..250abb5 100644 --- a/src/Quasar/Disposable.hs +++ b/src/Quasar/Disposable.hs @@ -10,11 +10,12 @@ module Quasar.Disposable ( -- ** ResourceManager ResourceManager, HasResourceManager(..), + withResourceManager, newResourceManager, - disposeEventually, attachDisposable, attachDisposeAction, attachDisposeAction_, + disposeEventually, ) where import Control.Concurrent.STM @@ -135,6 +136,9 @@ class HasResourceManager a where instance IsDisposable ResourceManager where toDisposable = undefined +withResourceManager :: (ResourceManager -> IO a) -> IO a +withResourceManager = bracket newResourceManager (awaitIO <=< dispose) + newResourceManager :: IO ResourceManager newResourceManager = pure ResourceManager -- GitLab