diff --git a/Control/Concurrent/Async/Warden.hs b/Control/Concurrent/Async/Warden.hs index a3b19a5..013f2d0 100644 --- a/Control/Concurrent/Async/Warden.hs +++ b/Control/Concurrent/Async/Warden.hs @@ -62,7 +62,7 @@ create = Warden <$> newMVar (Just mempty) shutdown :: Warden -> IO () shutdown (Warden v) = do r <- swapMVar v Nothing - mapM_ (Async.mapConcurrently_ Async.cancel) r + mapM_ (Async.cancelMany . HashSet.toList) r forget :: Warden -> Async a -> IO () forget (Warden v) async = modifyMVar_ v $ \x -> case x of