summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin')
-rw-r--r--winsup/cygwin/dll_init.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/winsup/cygwin/dll_init.cc b/winsup/cygwin/dll_init.cc
index 418cb5285..670a8e79b 100644
--- a/winsup/cygwin/dll_init.cc
+++ b/winsup/cygwin/dll_init.cc
@@ -351,6 +351,12 @@ dll_list::load_after_fork (HANDLE parent, dll *first)
extern "C" int
dll_dllcrt0 (HMODULE h, per_process *p)
{
+ /* Windows apparently installs a bunch of exception handlers prior to
+ this function getting called and one of them may trip before cygwin
+ gets to it. So, install our own exception handler only.
+ FIXME: It is possible that we may have to save state of the
+ previous exception handler chain and restore it, if problems
+ are noted. */
if (cygwin_finished_initializing)
_my_tls.init_exception_handler (_cygtls::handle_exceptions);