diff options
Diffstat (limited to 'winsup/cygwin/cygtls.cc')
-rw-r--r-- | winsup/cygwin/cygtls.cc | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/winsup/cygwin/cygtls.cc b/winsup/cygwin/cygtls.cc index bb6e5a643..0370d06e8 100644 --- a/winsup/cygwin/cygtls.cc +++ b/winsup/cygwin/cygtls.cc @@ -246,6 +246,18 @@ _cygtls::init_exception_handler (exception_handler *eh) Windows 2008, which irremediably gets into an endless loop, taking 100% CPU. That's why we reverted to a normal SEH chain and changed the way the exception handler returns to the application. */ - el.prev = _except_list; + /* 2008-03-28 - The fun continues. Revert to doing something sorta like + before. Just make sure *only* the cygwin exception handler is installed + rather than honoring other exception handlers. The theory here is that + cygwin should be in control and there should be no Windows voodoo going + on behind the scenes. + + This change was made so that this function could be called from + handle_exceptions to essentially "clean up" the exception handling + linked list. + + The open question is whether making this NULL will have an adverse effect + on Windows functions. */ _except_list = ⪙ + el.prev = NULL; } |