aboutsummaryrefslogtreecommitdiff
path: root/server/src
diff options
context:
space:
mode:
Diffstat (limited to 'server/src')
-rw-r--r--server/src/Thermoprint/Server/Queue.hs4
1 files changed, 2 insertions, 2 deletions
diff --git a/server/src/Thermoprint/Server/Queue.hs b/server/src/Thermoprint/Server/Queue.hs
index 3c7cce6..a93498e 100644
--- a/server/src/Thermoprint/Server/Queue.hs
+++ b/server/src/Thermoprint/Server/Queue.hs
@@ -26,7 +26,7 @@ import Data.Time
26import Data.ExtendedReal 26import Data.ExtendedReal
27import Data.Fixed 27import Data.Fixed
28 28
29import Control.DeepSeq (NFData) 29import Control.DeepSeq
30import Data.Typeable (Typeable) 30import Data.Typeable (Typeable)
31import GHC.Generics (Generic) 31import GHC.Generics (Generic)
32 32
@@ -133,7 +133,7 @@ runQM :: ( HasQueue q
133-- ^ Periodically modify a 'Queue' 133-- ^ Periodically modify a 'Queue'
134runQM qm (extractQueue -> q) = sleep =<< qm' 134runQM qm (extractQueue -> q) = sleep =<< qm'
135 where 135 where
136 qm' = hoist atomically $ (\(a, s) -> lift (writeTVar q s) >> return a) =<< runStateT (getComposeT qm) =<< lift (readTVar q) 136 qm' = hoist atomically $ (\(a, s) -> lift (writeTVar q $!! s) >> return a) =<< runStateT (getComposeT qm) =<< lift (readTVar q)
137 sleep (abs -> delay) 137 sleep (abs -> delay)
138 | (Finite d) <- delay = liftIO (threadDelay $ fromEnum d) >> runQM qm q 138 | (Finite d) <- delay = liftIO (threadDelay $ fromEnum d) >> runQM qm q
139 | otherwise = return () 139 | otherwise = return ()