From 35e395960cf5073afd78624a62c20f613f81b260 Mon Sep 17 00:00:00 2001 From: Jon Doe Date: Sat, 12 Sep 2020 14:40:05 +0200 Subject: [PATCH] redundant --- src/Main.hs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Main.hs b/src/Main.hs index b04b099..efcac1a 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -4,7 +4,7 @@ import Control.Concurrent.STM.TMVar import Control.Concurrent.STM.TChan import qualified Data.Map as M import qualified Data.Text as T -import Control.Concurrent(ThreadId, forkIO) +import Control.Concurrent(ThreadId, forkIO, killThread) data Placeholder = Placeholder data CommandMap = CommandMap (M.Map T.Text Placeholder) data CommandWorkspace = CommandWorkspace Placeholder @@ -25,8 +25,8 @@ runForever :: TMVar Bool -> IO () runForever diediedie = let block = do canaryDead <- readTMVar diediedie - if (canaryDead == True) then - return True + if (canaryDead) then + return canaryDead else retry in atomically block >>= \isDone -> @@ -49,5 +49,5 @@ main = do collectorTID <- forkIO $ collectInputs collectorChannel availableCommandMap sharedCommandWorkspace sharedTaskQueue canary <- atomically $ newTMVar False -- simple 'should I exit' canary - runForever canary + mapM_ killThread [dispatchTID, broadcastTID, collectorTID]