[commit: ghc] master: Switch VEH to VCH and allow disabling of SEH completely. (1825cbd)
git at git.haskell.org
git at git.haskell.org
Tue Sep 26 19:39:47 UTC 2017
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/1825cbdbdf08ed4bd6fd6794852596078953298a/ghc
>---------------------------------------------------------------
commit 1825cbdbdf08ed4bd6fd6794852596078953298a
Author: Ben Gamari <bgamari.foss at gmail.com>
Date: Tue Sep 26 14:34:58 2017 -0400
Switch VEH to VCH and allow disabling of SEH completely.
Exception handling on Windows is unfortunately a bit complicated.
But essentially the VEH Handlers we currently have are running too
early.
This was a problem as it ran so early it also swallowed C++ exceptions
and other software exceptions which the system could have very well
recovered from.
So instead we use a sequence of chains to for the exception handlers to
run as late as possible. You really can't get any later than this.
Please read the comment in the patch for more details.
I'm also providing a switch to allow people to turn off the exception
handling entirely. In case it does present a problem with their code.
Test Plan: ./validate
Reviewers: austin, hvr, bgamari, erikd, simonmar
Reviewed By: bgamari
Subscribers: rwbarton, thomie
GHC Trac Issues: #13911, #12110
Differential Revision: https://phabricator.haskell.org/D3911
>---------------------------------------------------------------
1825cbdbdf08ed4bd6fd6794852596078953298a
docs/users_guide/8.4.1-notes.rst | 7 +++
docs/users_guide/runtime_control.rst | 8 ++++
includes/rts/Flags.h | 1 +
libraries/base/GHC/RTS/Flags.hsc | 2 +
libraries/base/changelog.md | 3 ++
rts/RtsFlags.c | 19 +++++++-
rts/RtsMain.c | 7 +--
rts/win32/veh_excn.c | 91 ++++++++++++++++++++++++++++++++++--
rts/win32/veh_excn.h | 1 +
9 files changed, 127 insertions(+), 12 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 1825cbdbdf08ed4bd6fd6794852596078953298a
More information about the ghc-commits
mailing list