avoid leaving MVar empty

Something might want to observe the code multiple times.
This commit is contained in:
Joey Hess 2016-12-27 16:26:26 -04:00
parent 9e0aae036b
commit 41d956e0a0
No known key found for this signature in database
GPG key ID: C910D9222512E3C7

View file

@ -78,7 +78,7 @@ mkCodeProducer :: IO CodeProducer
mkCodeProducer = CodeProducer <$> newEmptyMVar
waitCode :: CodeObserver -> IO Code
waitCode (CodeObserver o) = takeMVar o
waitCode (CodeObserver o) = readMVar o
sendCode :: CodeProducer -> Code -> IO ()
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.
receiveFile :: FilePath -> CodeProducer -> WormHoleParams -> IO Bool
receiveFile f (CodeProducer producer) ps = runWormHoleProcess p $ \hin _hout -> do
Code c <- takeMVar producer
Code c <- readMVar producer
hPutStrLn hin c
hFlush hin
return True