[commit: ghc] master: Revert "Revert "rts/base: Fix #9423"" and resolve issue that caused the revert. (7e658bc)

git at git.haskell.org git at git.haskell.org
Tue Sep 16 12:59:43 UTC 2014


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/7e658bc14e2dd6baf208deebbdab9e1285ce4c72/ghc

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

commit 7e658bc14e2dd6baf208deebbdab9e1285ce4c72
Author: Andreas Voellmy <andreas.voellmy at gmail.com>
Date:   Tue Sep 16 07:56:54 2014 -0500

    Revert "Revert "rts/base: Fix #9423"" and resolve issue that caused the revert.
    
    Summary:
    This reverts commit 4748f5936fe72d96edfa17b153dbfd84f2c4c053. The fix for #9423
    was reverted because this commit introduced a C function setIOManagerControlFd()
    (defined in Schedule.c) defined for all OS types, while the prototype
    (in includes/rts/IOManager.h) was only included when mingw32_HOST_OS is
    not defined. This broke Windows builds.
    
    This commit reverts the original commit and resolves the problem by only defining
    setIOManagerControlFd() when mingw32_HOST_OS is defined. Hence the missing prototype
    error should not occur on Windows.
    
    In addition, since the io_manager_control_wr_fd field of the Capability struct is only
    usd by the setIOManagerControlFd, this commit includes the io_manager_control_wr_fd
    field in the Capability struct only when mingw32_HOST_OS is not defined.
    
    Test Plan: Try to compile successfully on all platforms.
    
    Reviewers: austin
    
    Reviewed By: austin
    
    Subscribers: simonmar, ezyang, carter
    
    Differential Revision: https://phabricator.haskell.org/D174


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

7e658bc14e2dd6baf208deebbdab9e1285ce4c72
 includes/rts/IOManager.h                 |  3 +-
 libraries/base/GHC/Event/Control.hs      |  8 +---
 libraries/base/GHC/Event/Manager.hs      |  1 +
 libraries/base/GHC/Event/Thread.hs       | 35 ++++++++------
 libraries/base/GHC/Event/TimerManager.hs |  1 +
 rts/Capability.c                         | 19 ++++++++
 rts/Capability.h                         |  4 ++
 rts/Linker.c                             |  1 +
 rts/posix/Signals.c                      | 80 ++++++++++++++++++++------------
 9 files changed, 101 insertions(+), 51 deletions(-)

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

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 7e658bc14e2dd6baf208deebbdab9e1285ce4c72


More information about the ghc-commits mailing list