diff options
Diffstat (limited to 'winsup/cygwin/thread.cc')
-rw-r--r-- | winsup/cygwin/thread.cc | 8 |
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; |