From 8ab59796365f9b9d4e000b1a52a8424d92600336 Mon Sep 17 00:00:00 2001 From: Jens Nolte <git@queezle.net> Date: Mon, 4 Oct 2021 15:08:22 +0200 Subject: [PATCH] Add FailedToRegisterResource exception --- src/Quasar/ResourceManager.hs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Quasar/ResourceManager.hs b/src/Quasar/ResourceManager.hs index 784059b..393bf17 100644 --- a/src/Quasar/ResourceManager.hs +++ b/src/Quasar/ResourceManager.hs @@ -1,6 +1,7 @@ module Quasar.ResourceManager ( -- * MonadResourceManager MonadResourceManager(..), + FailedToRegisterResource, registerDisposable, registerDisposeAction, registerSimpleDisposeAction, @@ -51,6 +52,12 @@ import Quasar.Prelude import System.IO (fixIO, hPutStrLn, stderr) +data FailedToRegisterResource = FailedToRegisterResource + deriving stock (Eq, Show) + +instance Exception FailedToRegisterResource where + displayException FailedToRegisterResource = + "Failed to register a resource to a resource manager. This might result in leaked resources if left unhandled." -- | Internal entry of `ResourceManager`. The `TMVar` will be set to `Nothing` when the disposable has completed disposing. newtype ResourceManagerEntry = ResourceManagerEntry (TMVar (Awaitable (), Disposable)) -- GitLab