Skip to content
  • AndreasVoellmy's avatar
    Revert "Revert "rts/base: Fix #9423"" and resolve issue that caused the revert. · 7e658bc1
    AndreasVoellmy authored
    Summary:
    This reverts commit 4748f593. 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
    7e658bc1