[commit: base] master: Update parallel IO manager to handle the invalid files in the same way as previous IO manager. (d754719)

Andreas Voellmy andreas.voellmy at gmail.com
Mon May 6 05:12:23 CEST 2013


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

On branch  : master

https://github.com/ghc/packages-base/commit/d7547198a6f9ecb9d460ec38f7c4bfeb8f5e42f0

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

commit d7547198a6f9ecb9d460ec38f7c4bfeb8f5e42f0
Author: Andreas Voellmy <andreas.voellmy at gmail.com>
Date:   Sun Mar 17 22:27:49 2013 -0400

    Update parallel IO manager to handle the invalid files in the same way as previous IO manager.
    
    This patch affects the IO manager using kqueue. See issue #7773. If the kqueue backend cannot wait for events on a file, it will simply call the registered callback for the file immediately. This is the behavior of the previous IO manager. This is not ideal, but it is an initial step toward dealing with the problem properly. Ideally, we would use a non-kqueue mechanism for waiting on files (select seems most reliable) that cannot be waited on with kqueue.

 Foreign/C/Error.hs        |    5 ++-
 GHC/Event/EPoll.hsc       |   26 +++++++++++++---------
 GHC/Event/Internal.hs     |   18 ++++++++++-----
 GHC/Event/KQueue.hsc      |   35 +++++++++++++++++++----------
 GHC/Event/Manager.hs      |   52 +++++++++++++++++++++++++++++++-------------
 GHC/Event/Poll.hsc        |    7 +++--
 GHC/Event/TimerManager.hs |    4 +-
 configure.ac              |    2 +-
 tests/T7773.hs            |    9 +++++++
 tests/T7773.stdout        |    2 +
 tests/all.T               |    1 +
 11 files changed, 108 insertions(+), 53 deletions(-)


Diff suppressed because of size. To see it, use:

    git show d7547198a6f9ecb9d460ec38f7c4bfeb8f5e42f0



More information about the ghc-commits mailing list