From ca24983baeedaf6b02562dc678c992ed26a6a93f Mon Sep 17 00:00:00 2001
From: Jens Nolte <git@queezle.net>
Date: Thu, 24 Feb 2022 23:21:17 +0100
Subject: [PATCH] Rename functions generating unmanaged disposers

---
 src/Quasar/Async/V2.hs           |  2 +-
 src/Quasar/Resources.hs          | 16 ++++++++--------
 src/Quasar/Resources/Disposer.hs |  6 +++---
 src/Quasar/Timer.hs              |  2 +-
 4 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/src/Quasar/Async/V2.hs b/src/Quasar/Async/V2.hs
index 0a10cc1..f159f46 100644
--- a/src/Quasar/Async/V2.hs
+++ b/src/Quasar/Async/V2.hs
@@ -73,7 +73,7 @@ asyncWithUnmask' fn = maskIfRequired do
     resultVar <- newAsyncVarSTM
     threadIdVar <- newAsyncVarSTM
     -- Disposer is created first to ensure the resource can be safely attached
-    disposer <- newPrimitiveDisposer (disposeFn key resultVar (toAwaitable threadIdVar)) worker exChan
+    disposer <- newUnmanagedPrimitiveDisposer (disposeFn key resultVar (toAwaitable threadIdVar)) worker exChan
     pure (key, resultVar, threadIdVar, disposer)
 
   registerResource disposer
diff --git a/src/Quasar/Resources.hs b/src/Quasar/Resources.hs
index 33fd4b4..5ac6be8 100644
--- a/src/Quasar/Resources.hs
+++ b/src/Quasar/Resources.hs
@@ -24,8 +24,8 @@ module Quasar.Resources (
   -- * Types to implement resources
   -- ** Disposer
   Disposer,
-  newIODisposerSTM,
-  newSTMDisposerSTM,
+  newUnmanagedIODisposerSTM,
+  newUnmanagedSTMDisposerSTM,
 
   -- ** Resource manager
   ResourceManager,
@@ -46,11 +46,11 @@ import Quasar.Resources.Disposer
 import Quasar.Utils.ShortIO
 
 
-newIODisposerSTM :: IO () -> TIOWorker -> ExceptionChannel -> STM Disposer
-newIODisposerSTM fn worker exChan = newPrimitiveDisposer (forkAsyncShortIO fn exChan) worker exChan
+newUnmanagedIODisposerSTM :: IO () -> TIOWorker -> ExceptionChannel -> STM Disposer
+newUnmanagedIODisposerSTM fn worker exChan = newUnmanagedPrimitiveDisposer (forkAsyncShortIO fn exChan) worker exChan
 
-newSTMDisposerSTM :: STM () -> TIOWorker -> ExceptionChannel -> STM Disposer
-newSTMDisposerSTM fn worker exChan = newPrimitiveDisposer disposeFn worker exChan
+newUnmanagedSTMDisposerSTM :: STM () -> TIOWorker -> ExceptionChannel -> STM Disposer
+newUnmanagedSTMDisposerSTM fn worker exChan = newUnmanagedPrimitiveDisposer disposeFn worker exChan
   where
     disposeFn :: ShortIO (Awaitable ())
     disposeFn = unsafeShortIO $ atomically $
@@ -69,7 +69,7 @@ registerDisposeAction fn = do
   exChan <- askExceptionChannel
   rm <- askResourceManager
   ensureSTM do
-    disposer <- newIODisposerSTM fn worker exChan
+    disposer <- newUnmanagedIODisposerSTM fn worker exChan
     attachResource rm disposer
     pure disposer
 
@@ -82,7 +82,7 @@ registerDisposeTransaction fn = do
   exChan <- askExceptionChannel
   rm <- askResourceManager
   ensureSTM do
-    disposer <- newSTMDisposerSTM fn worker exChan
+    disposer <- newUnmanagedSTMDisposerSTM fn worker exChan
     attachResource rm disposer
     pure disposer
 
diff --git a/src/Quasar/Resources/Disposer.hs b/src/Quasar/Resources/Disposer.hs
index 0db63b0..c4e97a1 100644
--- a/src/Quasar/Resources/Disposer.hs
+++ b/src/Quasar/Resources/Disposer.hs
@@ -8,7 +8,7 @@ module Quasar.Resources.Disposer (
   disposeEventuallySTM_,
   isDisposing,
   isDisposed,
-  newPrimitiveDisposer,
+  newUnmanagedPrimitiveDisposer,
 
   -- * Resource manager
   ResourceManager,
@@ -49,8 +49,8 @@ instance Resource Disposer where
 type DisposeFn = ShortIO (Awaitable ())
 
 
-newPrimitiveDisposer :: ShortIO (Awaitable ()) -> TIOWorker -> ExceptionChannel -> STM Disposer
-newPrimitiveDisposer fn worker exChan = do
+newUnmanagedPrimitiveDisposer :: ShortIO (Awaitable ()) -> TIOWorker -> ExceptionChannel -> STM Disposer
+newUnmanagedPrimitiveDisposer fn worker exChan = do
   key <- newUniqueSTM
   FnDisposer key worker exChan <$> newTOnce fn <*> newFinalizers
 
diff --git a/src/Quasar/Timer.hs b/src/Quasar/Timer.hs
index e0d6973..a05e6f8 100644
--- a/src/Quasar/Timer.hs
+++ b/src/Quasar/Timer.hs
@@ -180,7 +180,7 @@ newUnmanagedTimer scheduler time = liftIO do
   key <- newUnique
   completed <- newAsyncVar
   atomically do
-    disposer <- newSTMDisposerSTM (disposeFn completed) (ioWorker scheduler) (exceptionChannel scheduler)
+    disposer <- newUnmanagedSTMDisposerSTM (disposeFn completed) (ioWorker scheduler) (exceptionChannel scheduler)
     let timer = Timer { key, time, completed, disposer, scheduler }
     tryTakeTMVar (heap scheduler) >>= \case
       Just timers -> putTMVar (heap scheduler) (insert timer timers)
-- 
GitLab