[commit: base] master: Wakeup is a no-op for KQueue and EPoll-based IO managers. (bde8699)

Johan Tibell johan.tibell at gmail.com
Tue Feb 12 07:50:09 CET 2013


Repository : ssh://darcs.haskell.org//srv/darcs/packages/base

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/bde86998cc8edbb8758189ebbf24feb4f02ab4a7

>---------------------------------------------------------------

commit bde86998cc8edbb8758189ebbf24feb4f02ab4a7
Author: Andreas Voellmy <andreas.voellmy at gmail.com>
Date:   Fri Dec 21 16:47:12 2012 -0500

    Wakeup is a no-op for KQueue and EPoll-based IO managers.

>---------------------------------------------------------------

 GHC/Event/Manager.hs |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/GHC/Event/Manager.hs b/GHC/Event/Manager.hs
index f6af200..d52182e 100644
--- a/GHC/Event/Manager.hs
+++ b/GHC/Event/Manager.hs
@@ -281,7 +281,12 @@ registerFd mgr cb fd evs = do
 
 -- | Wake up the event manager.
 wakeManager :: EventManager -> IO ()
-wakeManager mgr = sendWakeup (emControl mgr)
+wakeManager mgr =
+#if defined(HAVE_EPOLL) || defined(HAVE_KQUEUE)
+  return ()
+#else    
+  sendWakeup (emControl mgr)
+#endif
 
 eventsOf :: [FdData] -> Event
 eventsOf = mconcat . map fdEvents





More information about the ghc-commits mailing list