Bug in emptySampleVar

Jan Christiansen jac at informatik.uni-kiel.de
Sat Jan 17 11:12:29 EST 2004


Hello!
In my opinion there is a bug in the emptySampleVar-function in 
Control.Concurrent.SampleVar.

emptySampleVar :: SampleVar a -> IO ()
emptySampleVar v = do
   (readers, var) <- takeMVar v
   if readers >= 0 then
 	takeMVar var >>    			<- I think this line is missing
	putMVar v (0,var)
   else
     	putMVar v (readers,var)

Without the line a writeSampleVar suspends after an emptySampleVar on a full 
SampleVar.

best regards
Jan


More information about the Glasgow-haskell-bugs mailing list