summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/thread.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/thread.cc')
-rw-r--r--winsup/cygwin/thread.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/winsup/cygwin/thread.cc b/winsup/cygwin/thread.cc
index fce49091f..35f9f50bc 100644
--- a/winsup/cygwin/thread.cc
+++ b/winsup/cygwin/thread.cc
@@ -38,6 +38,7 @@ details. */
#include "pinfo.h"
#include "perprocess.h"
#include "security.h"
+#include "exceptions.h"
#include <semaphore.h>
#include <stdio.h>
#include <sys/timeb.h>
@@ -1894,6 +1895,13 @@ pthread::thread_init_wrapper (void *_arg)
struct sigaction _sigs[NSIG];
sigset_t _sig_mask; /* one set for everything to ignore. */
+ /* According to onno@stack.urc.tue.nl, the exception handler record must
+ be on the stack. */
+ exception_list cygwin_except_entry;
+
+ /* Initialize SIGSEGV handling, etc. */
+ init_exceptions (&cygwin_except_entry);
+
// setup signal structures
thread->sigs = _sigs;
thread->sigmask = &_sig_mask;