packages feed

poolboy 0.2.1.0 → 0.2.2.0

raw patch · 2 files changed

+10/−10 lines, 2 filesdep +unliftiodep −safe-exceptions

Dependencies added: unliftio

Dependencies removed: safe-exceptions

Files

poolboy.cabal view
@@ -1,6 +1,6 @@ cabal-version:       3.0 name:                poolboy-version:             0.2.1.0+version:             0.2.2.0 author:              Gautier DI FOLCO maintainer:          gautier.difolco@gmail.com category:            Data@@ -16,9 +16,9 @@   default-language:   Haskell2010   build-depends:       base == 4.*-    , safe-exceptions == 0.1.*-    , stm == 2.*     , async == 2.*+    , stm == 2.*+    , unliftio == 0.2.*   hs-source-dirs: src   exposed-modules:       Data.Poolboy
src/Data/Poolboy.hs view
@@ -31,11 +31,11 @@ import Control.Concurrent import Control.Concurrent.Async import Control.Concurrent.STM.TQueue-import Control.Exception.Safe (bracket, tryAny) import Control.Monad import Control.Monad.STM import Data.Maybe (isNothing) import System.Timeout (timeout)+import UnliftIO.Exception (bracket, tryAny)  -- | Initial settings data PoolboySettings = PoolboySettings@@ -55,7 +55,7 @@ defaultPoolboySettings =   PoolboySettings     { workersCount = CapabilitiesWCS,-      log = \_ -> return ()+      log = \x -> seq x $ return ()     }  -- | Arbitrary-numbered settings@@ -95,7 +95,7 @@     forkIO $       controller $         WorkQueueControllerState-          {commands = wq.commands,+          { commands = wq.commands,             queue = wq.queue,             stopped = wq.stopped,             log = settings.log,@@ -144,7 +144,7 @@   signalQSemN wq.waitingWorkers 1  -- | Enqueue action and some actions to be run after it-enqueueAfter :: Foldable f => WorkQueue -> IO () -> f (IO ()) -> IO ()+enqueueAfter :: (Foldable f) => WorkQueue -> IO () -> f (IO ()) -> IO () enqueueAfter wq x xs =   enqueue wq $ do     x@@ -191,11 +191,11 @@             return ([], wq.capabilityCount)           else do             let newWorkersCount = abs diff-            newWorkers <- forM [1..newWorkersCount] $ \capability -> do+            newWorkers <- forM [1 .. newWorkersCount] $ \capability -> do               wq.log $ prefix <> "Pre-fork"-              asyncOn (capability - 1) $ worker $ WorkQueueWorkerState{queue = wq.queue, waitingWorkers = wq.waitingWorkers, log = wq.log}+              asyncOn (capability - 1) $ worker $ WorkQueueWorkerState {queue = wq.queue, waitingWorkers = wq.waitingWorkers, log = wq.log}             return (newWorkers, wq.capabilityCount + newWorkersCount)-      controller $ wq { workers = newWorkers <> liveWorkers, capabilityCount = newCapabilityCount }+      controller $ wq {workers = newWorkers <> liveWorkers, capabilityCount = newCapabilityCount}     Stop -> do       liveWorkers <- getLiveWorkers       let currentCount = length liveWorkers