Throw an exception when reading from a broadcast channel (#7218)
authorSimon Marlow <marlowsd@gmail.com>
Thu, 6 Sep 2012 08:46:20 +0000 (09:46 +0100)
committerSimon Marlow <marlowsd@gmail.com>
Thu, 6 Sep 2012 08:46:20 +0000 (09:46 +0100)
Control/Concurrent/STM/TChan.hs

index 52af426..455dafe 100644 (file)
@@ -97,9 +97,8 @@ newTChanIO = do
 -- garbage collected after clients have seen them.
 newBroadcastTChan :: STM (TChan a)
 newBroadcastTChan = do
-    dummy_hole <- newTVar TNil
     write_hole <- newTVar TNil
-    read <- newTVar dummy_hole
+    read <- newTVar (error "reading from a TChan created by newBroadcastTChan; use dupTChan first")
     write <- newTVar write_hole
     return (TChan read write)