avoid leaving MVar empty
Something might want to observe the code multiple times.
This commit is contained in:
parent
9e0aae036b
commit
41d956e0a0
1 changed files with 2 additions and 2 deletions
|
@ -78,7 +78,7 @@ mkCodeProducer :: IO CodeProducer
|
||||||
mkCodeProducer = CodeProducer <$> newEmptyMVar
|
mkCodeProducer = CodeProducer <$> newEmptyMVar
|
||||||
|
|
||||||
waitCode :: CodeObserver -> IO Code
|
waitCode :: CodeObserver -> IO Code
|
||||||
waitCode (CodeObserver o) = takeMVar o
|
waitCode (CodeObserver o) = readMVar o
|
||||||
|
|
||||||
sendCode :: CodeProducer -> Code -> IO ()
|
sendCode :: CodeProducer -> Code -> IO ()
|
||||||
sendCode (CodeProducer p) = putMVar p
|
sendCode (CodeProducer p) = putMVar p
|
||||||
|
@ -119,7 +119,7 @@ sendFile f (CodeObserver observer) ps = do
|
||||||
-- read from the CodeProducer, and fed to wormhole on stdin.
|
-- read from the CodeProducer, and fed to wormhole on stdin.
|
||||||
receiveFile :: FilePath -> CodeProducer -> WormHoleParams -> IO Bool
|
receiveFile :: FilePath -> CodeProducer -> WormHoleParams -> IO Bool
|
||||||
receiveFile f (CodeProducer producer) ps = runWormHoleProcess p $ \hin _hout -> do
|
receiveFile f (CodeProducer producer) ps = runWormHoleProcess p $ \hin _hout -> do
|
||||||
Code c <- takeMVar producer
|
Code c <- readMVar producer
|
||||||
hPutStrLn hin c
|
hPutStrLn hin c
|
||||||
hFlush hin
|
hFlush hin
|
||||||
return True
|
return True
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue