[commit: base] : Added missing wakeup in GHC.Event.Manager.closeFd_. (3799788)
Johan Tibell
johan.tibell at gmail.com
Tue Feb 12 07:51:32 CET 2013
Repository : ssh://darcs.haskell.org//srv/darcs/packages/base
On branch :
http://hackage.haskell.org/trac/ghc/changeset/3799788e21a35dc92f40c0a5b952f2f683c3ded1
>---------------------------------------------------------------
commit 3799788e21a35dc92f40c0a5b952f2f683c3ded1
Author: Andreas Voellmy <andreas.voellmy at gmail.com>
Date: Thu Jan 3 18:20:53 2013 +0100
Added missing wakeup in GHC.Event.Manager.closeFd_.
This missing wakeup may have affected the IO manager when used with the poll backend.
>---------------------------------------------------------------
GHC/Event/Manager.hs | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/GHC/Event/Manager.hs b/GHC/Event/Manager.hs
index cb1eace..74152dd 100644
--- a/GHC/Event/Manager.hs
+++ b/GHC/Event/Manager.hs
@@ -363,6 +363,7 @@ closeFd_ mgr oldMap fd = do
(Just fds, !newMap) -> do
let oldEvs = eventsOf fds
I.modifyFd (emBackend mgr) fd oldEvs mempty
+ when (oldEvs /= mempty) $ wakeManager mgr
forM_ fds $ \(FdData reg ev cb) -> cb reg (ev `mappend` evtClose)
return newMap
------------------------------------------------------------------------
More information about the ghc-commits
mailing list