summaryrefslogtreecommitdiffstats
path: root/winsup
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2008-02-27 17:57:14 +0000
committerCorinna Vinschen <corinna@vinschen.de>2008-02-27 17:57:14 +0000
commita04a25195e84099400cb2356d7a9eda367a9e459 (patch)
tree938e815748b1cf9abaa81342a30349152cacd170 /winsup
parentb23bf2fbf9b51236a694b3467a54cff8a8a834e2 (diff)
downloadcygnal-a04a25195e84099400cb2356d7a9eda367a9e459.tar.gz
cygnal-a04a25195e84099400cb2356d7a9eda367a9e459.tar.bz2
cygnal-a04a25195e84099400cb2356d7a9eda367a9e459.zip
* cygtls.cc (_cygtls::init_exception_handler): Fix comment.
Diffstat (limited to 'winsup')
-rw-r--r--winsup/cygwin/ChangeLog4
-rw-r--r--winsup/cygwin/cygtls.cc9
2 files changed, 6 insertions, 7 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index be3824ade..7bf4c81f4 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,9 @@
2008-02-27 Corinna Vinschen <corinna@vinschen.de>
+ * cygtls.cc (_cygtls::init_exception_handler): Fix comment.
+
+2008-02-27 Corinna Vinschen <corinna@vinschen.de>
+
* (struct __DIR_cache): Switch order of members so that the buffer
given to NtQueryDirectoryFile is 8 byte aligned.
diff --git a/winsup/cygwin/cygtls.cc b/winsup/cygwin/cygtls.cc
index 310f2e637..6b7e0cd51 100644
--- a/winsup/cygwin/cygtls.cc
+++ b/winsup/cygwin/cygtls.cc
@@ -269,13 +269,8 @@ _cygtls::init_exception_handler (exception_handler *eh)
At one point this was a loop (el.prev = &el;). This outsmarted the
above behaviour. Unfortunately this trick doesn't work anymore with
Windows 2008, which irremediably gets into an endless loop, taking 100%
- CPU. That's why we reverted to a normal SEH chain.
-
- 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." */
+ 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;
_except_list = &el;
}