From d930e98e6bcaac1f706379339fd07e744b217e51 Mon Sep 17 00:00:00 2001
From: Jens Nolte <git@queezle.net>
Date: Wed, 25 Aug 2021 00:26:18 +0200
Subject: [PATCH] Fix withAsyncManager not calling dispose

---
 src/Quasar/Async.hs | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/src/Quasar/Async.hs b/src/Quasar/Async.hs
index a901fd7..cb143e4 100644
--- a/src/Quasar/Async.hs
+++ b/src/Quasar/Async.hs
@@ -190,7 +190,7 @@ unlimitedAsyncManagerConfiguration = AsyncManagerConfiguraiton {
 }
 
 withAsyncManager :: AsyncManagerConfiguraiton -> AsyncIO r -> IO r
-withAsyncManager configuration = bracket (newAsyncManager configuration) disposeAsyncManager . flip runOnAsyncManager
+withAsyncManager configuration = bracket (newAsyncManager configuration) (awaitIO <=< dispose) . flip runOnAsyncManager
 
 runOnAsyncManager :: AsyncManager -> AsyncIO r -> IO r
 runOnAsyncManager asyncManager (AsyncIO action) = runReaderT action asyncManager
@@ -210,8 +210,3 @@ newAsyncManager configuration = do
     configuration,
     threads
   }
-
-disposeAsyncManager :: AsyncManager -> IO ()
--- TODO resource management
-disposeAsyncManager = const (pure ())
-
-- 
GitLab