[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