[Haskell-cafe] Number of outstanding messages in Chan or TChan
Bulat Ziganshin
bulatz at HotPOP.com
Tue Dec 6 12:50:33 EST 2005
Hello Joel,
Tuesday, December 06, 2005, 6:42:32 PM, you wrote:
JR> On Dec 6, 2005, at 1:47 PM, Bulat Ziganshin wrote:
>> either
>> 1) use MVars/TMVars instead of Channels. in any case your logging
>> thread must consume data not slower than other channels produce then.
>> in fact, using Chan have meaning only to smooth temporary speed
>> differences between different threads. are you really need this??
btw, why not pass to worker thread just the logging action itself?
and, about waitForChildren:
waitForChildren :: IO ()
waitForChildren =
do logDead <- newEmptyMVar
forkIO (logger `finally` putMVar logDead ())
c <- takeMVar children
mapM_ takeMVar c
...send Nothing to logger thread
takeMVar logDead
as simple as possible
--
Best regards,
Bulat mailto:bulatz at HotPOP.com
More information about the Haskell-Cafe
mailing list