redundant
This commit is contained in:
parent
93fef0c8be
commit
35e395960c
@ -4,7 +4,7 @@ import Control.Concurrent.STM.TMVar
|
|||||||
import Control.Concurrent.STM.TChan
|
import Control.Concurrent.STM.TChan
|
||||||
import qualified Data.Map as M
|
import qualified Data.Map as M
|
||||||
import qualified Data.Text as T
|
import qualified Data.Text as T
|
||||||
import Control.Concurrent(ThreadId, forkIO)
|
import Control.Concurrent(ThreadId, forkIO, killThread)
|
||||||
data Placeholder = Placeholder
|
data Placeholder = Placeholder
|
||||||
data CommandMap = CommandMap (M.Map T.Text Placeholder)
|
data CommandMap = CommandMap (M.Map T.Text Placeholder)
|
||||||
data CommandWorkspace = CommandWorkspace Placeholder
|
data CommandWorkspace = CommandWorkspace Placeholder
|
||||||
@ -25,8 +25,8 @@ runForever :: TMVar Bool -> IO ()
|
|||||||
runForever diediedie =
|
runForever diediedie =
|
||||||
let block = do
|
let block = do
|
||||||
canaryDead <- readTMVar diediedie
|
canaryDead <- readTMVar diediedie
|
||||||
if (canaryDead == True) then
|
if (canaryDead) then
|
||||||
return True
|
return canaryDead
|
||||||
else
|
else
|
||||||
retry
|
retry
|
||||||
in atomically block >>= \isDone ->
|
in atomically block >>= \isDone ->
|
||||||
@ -49,5 +49,5 @@ main = do
|
|||||||
collectorTID <- forkIO $ collectInputs collectorChannel availableCommandMap sharedCommandWorkspace sharedTaskQueue
|
collectorTID <- forkIO $ collectInputs collectorChannel availableCommandMap sharedCommandWorkspace sharedTaskQueue
|
||||||
|
|
||||||
canary <- atomically $ newTMVar False -- simple 'should I exit' canary
|
canary <- atomically $ newTMVar False -- simple 'should I exit' canary
|
||||||
|
|
||||||
runForever canary
|
runForever canary
|
||||||
|
mapM_ killThread [dispatchTID, broadcastTID, collectorTID]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user