avoid a space leak building up in the "prodding" IORef (part of #2992)
[ghc-base.git] / GHC / Conc.lhs
index 1351125..8ed61fe 100644 (file)
@@ -955,7 +955,8 @@ service_loop wakeup old_delays = do
 
 service_cont :: HANDLE -> [DelayReq] -> IO ()
 service_cont wakeup delays = do
-  atomicModifyIORef prodding (\_ -> (False,False))
+  r <- atomicModifyIORef prodding (\_ -> (False,False))
+  r `seq` return () -- avoid space leak
   service_loop wakeup delays
 
 -- must agree with rts/win32/ThrIOManager.c