diff options
author | Alexander Vershilov <alexander.vershilov@gmail.com> | 2016-12-02 14:32:48 -0500 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2016-12-02 15:29:15 -0500 |
commit | 895a131f6e56847d9ebca2e9bfe19a3189e49d72 (patch) | |
tree | 0b54a54e22104ccf5b790a02448f6fb6875812a2 /rts/package.conf.in | |
parent | f46369b8a1bf90a3bdc30f2b566c3a7e03672518 (diff) | |
download | haskell-895a131f6e56847d9ebca2e9bfe19a3189e49d72.tar.gz |
Install toplevel handler inside fork.
When rts is forked it doesn't update toplevel handler, so UserInterrupt
exception is sent to Thread1 that doesn't exist in forked process.
We install toplevel handler when fork so signal will be delivered to the
new main thread.
Fixes #12903
Reviewers: simonmar, austin, erikd, bgamari
Reviewed By: bgamari
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D2770
GHC Trac Issues: #12903
Diffstat (limited to 'rts/package.conf.in')
-rw-r--r-- | rts/package.conf.in | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/rts/package.conf.in b/rts/package.conf.in index 17d579fc7b..1da44a4cd1 100644 --- a/rts/package.conf.in +++ b/rts/package.conf.in @@ -104,6 +104,7 @@ ld-options: , "-Wl,-u,_base_GHCziTopHandler_flushStdHandles_closure" , "-Wl,-u,_base_GHCziTopHandler_runIO_closure" , "-Wl,-u,_base_GHCziTopHandler_runNonIO_closure" + , "-Wl,-u,_base_GHCziTopHandler_runMainIO_closure" , "-Wl,-u,_base_GHCziConcziIO_ensureIOManagerIsRunning_closure" , "-Wl,-u,_base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure" , "-Wl,-u,_base_GHCziConcziSync_runSparks_closure" @@ -195,6 +196,7 @@ ld-options: , "-Wl,-u,base_GHCziTopHandler_flushStdHandles_closure" , "-Wl,-u,base_GHCziTopHandler_runIO_closure" , "-Wl,-u,base_GHCziTopHandler_runNonIO_closure" + , "-Wl,-u,base_GHCziTopHandler_runMainIO_closure" , "-Wl,-u,base_GHCziConcziIO_ensureIOManagerIsRunning_closure" , "-Wl,-u,base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure" , "-Wl,-u,base_GHCziConcziSync_runSparks_closure" |