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

Rename to newUnmanagedResourceManager


Co-authored-by: default avatarJan Beinke <git@janbeinke.com>
parent 862976c0
No related branches found
No related tags found
No related merge requests found
Pipeline #2470 passed
......@@ -102,7 +102,7 @@ class IsRetrievable v o => IsObservable v o | o -> v where
-- | Old signature of `observe`, will be removed from the class once it's no longer used for implementations.
oldObserve :: o -> (ObservableMessage v -> IO ()) -> IO Disposable
oldObserve observable callback = do
resourceManager <- unsafeNewResourceManager
resourceManager <- newUnmanagedResourceManager
onResourceManager resourceManager do
observe observable $ \msg -> liftIO (callback msg)
pure $ toDisposable resourceManager
......@@ -230,7 +230,7 @@ instance IsObservable r (BindObservable r) where
oldObserve :: BindObservable r -> (ObservableMessage r -> IO ()) -> IO Disposable
oldObserve (BindObservable fx fn) callback = do
-- Create a resource manager to ensure all subscriptions are cleaned up when disposing.
resourceManager <- unsafeNewResourceManager
resourceManager <- newUnmanagedResourceManager
isDisposingVar <- newTVarIO False
disposableVar <- newTMVarIO noDisposable
......@@ -298,7 +298,7 @@ instance IsObservable r (CatchObservable e r) where
oldObserve :: CatchObservable e r -> (ObservableMessage r -> IO ()) -> IO Disposable
oldObserve (CatchObservable fx fn) callback = do
-- Create a resource manager to ensure all subscriptions are cleaned up when disposing.
resourceManager <- unsafeNewResourceManager
resourceManager <- newUnmanagedResourceManager
isDisposingVar <- newTVarIO False
disposableVar <- newTMVarIO noDisposable
......
......@@ -15,7 +15,7 @@ module Quasar.ResourceManager (
ResourceManager,
withResourceManager,
newResourceManager,
unsafeNewResourceManager,
newUnmanagedResourceManager,
attachDisposable,
attachDisposeAction,
attachDisposeAction_,
......@@ -182,19 +182,19 @@ instance IsDisposable ResourceManager where
((\disposed -> unless disposed retry) =<< readTVar (disposedVar resourceManager))
withResourceManager :: (MonadAwait m, MonadMask m, MonadIO m) => (ResourceManager -> m a) -> m a
withResourceManager = bracket unsafeNewResourceManager (await <=< liftIO . dispose)
withResourceManager = bracket newUnmanagedResourceManager (await <=< liftIO . dispose)
withResourceManagerM :: (MonadAwait m, MonadMask m, MonadIO m) => (ReaderT ResourceManager m a) -> m a
withResourceManagerM action = withResourceManager \resourceManager -> onResourceManager resourceManager action
newResourceManager :: MonadResourceManager m => m ResourceManager
newResourceManager = mask_ do
resourceManager <- unsafeNewResourceManager
resourceManager <- newUnmanagedResourceManager
registerDisposable resourceManager
pure resourceManager
unsafeNewResourceManager :: MonadIO m => m ResourceManager
unsafeNewResourceManager = liftIO do
newUnmanagedResourceManager :: MonadIO m => m ResourceManager
newUnmanagedResourceManager = liftIO do
disposingVar <- newTVarIO False
disposedVar <- newTVarIO False
exceptionVar <- newEmptyTMVarIO
......
......@@ -44,10 +44,10 @@ spec = parallel $ do
describe "ResourceManager" $ do
it "can be created" $ io do
void unsafeNewResourceManager
void newUnmanagedResourceManager
it "can be created and disposed" $ io do
resourceManager <- unsafeNewResourceManager
resourceManager <- newUnmanagedResourceManager
await =<< dispose resourceManager
it "can be created and disposed" $ io do
......
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