[GHC] #9423: shutdownCapability sometimes loops indefinitely on OSX after hs_exit()

GHC ghc-devs at haskell.org
Tue Sep 16 12:59:22 UTC 2014


#9423: shutdownCapability sometimes loops indefinitely on OSX after hs_exit()
-------------------------------------+-------------------------------------
              Reporter:              |            Owner:
  AndreasVoellmy                     |           Status:  new
                  Type:  bug         |        Milestone:  7.10.1
              Priority:  normal      |          Version:  7.8.2
             Component:  Runtime     |         Keywords:
  System                             |     Architecture:  Unknown/Multiple
            Resolution:              |       Difficulty:  Unknown
      Operating System:  MacOS X     |       Blocked By:
       Type of failure:  Incorrect   |  Related Tickets:  9284
  result at runtime                  |
             Test Case:              |
              Blocking:              |
Differential Revisions:  Phab:D129   |
-------------------------------------+-------------------------------------

Comment (by Austin Seipp <austin@…>):

 In [changeset:"7e658bc14e2dd6baf208deebbdab9e1285ce4c72/ghc"]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="7e658bc14e2dd6baf208deebbdab9e1285ce4c72"
 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
 }}}

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9423#comment:8>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list