* cygtls.cc (_cygtls::init_exception_handler): Fix comment.

This commit is contained in:
Corinna Vinschen 2008-02-27 17:57:14 +00:00
parent b23bf2fbf9
commit a04a25195e
2 changed files with 6 additions and 7 deletions

View File

@ -1,3 +1,7 @@
2008-02-27 Corinna Vinschen <corinna@vinschen.de>
* cygtls.cc (_cygtls::init_exception_handler): Fix comment.
2008-02-27 Corinna Vinschen <corinna@vinschen.de> 2008-02-27 Corinna Vinschen <corinna@vinschen.de>
* (struct __DIR_cache): Switch order of members so that the buffer * (struct __DIR_cache): Switch order of members so that the buffer

View File

@ -269,13 +269,8 @@ _cygtls::init_exception_handler (exception_handler *eh)
At one point this was a loop (el.prev = &el;). This outsmarted the At one point this was a loop (el.prev = &el;). This outsmarted the
above behaviour. Unfortunately this trick doesn't work anymore with above behaviour. Unfortunately this trick doesn't work anymore with
Windows 2008, which irremediably gets into an endless loop, taking 100% Windows 2008, which irremediably gets into an endless loop, taking 100%
CPU. That's why we reverted to a normal SEH chain. CPU. That's why we reverted to a normal SEH chain and changed the way
the exception handler returns to the application. */
On the bright side, Windows' behaviour is covered by POSIX:
"If and when the function returns, if the value of sig was SIGFPE,
SIGILL, or SIGSEGV or any other implementation-defined value
corresponding to a computational exception, the behavior is undefined." */
el.prev = _except_list; el.prev = _except_list;
_except_list = &el; _except_list = &el;
} }