summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/cygtls.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2008-03-01 13:18:22 +0000
committerChristopher Faylor <me@cgf.cx>2008-03-01 13:18:22 +0000
commit813767de3db47bae178d815e32770787bbb2cfed (patch)
tree5fcc4009db05acb7e2cdc40140117e4ae2b43962 /winsup/cygwin/cygtls.cc
parent76ff710cfaa54aa7a85b15d2d2b0303a53afe83d (diff)
downloadcygnal-813767de3db47bae178d815e32770787bbb2cfed.tar.gz
cygnal-813767de3db47bae178d815e32770787bbb2cfed.tar.bz2
cygnal-813767de3db47bae178d815e32770787bbb2cfed.zip
* exceptions.cc (_cygtls::handle_exceptions): Only call rtl_unwind when
exiting. Just return, don't set thread context. * gendef (_setjmp): Store %fs:0 in jmp_buf. (_sjfault): Ditto. (_ljfault): Restore %fs:0 from jmp_buf. (_longjmp): Ditto.
Diffstat (limited to 'winsup/cygwin/cygtls.cc')
-rw-r--r--winsup/cygwin/cygtls.cc3
1 files changed, 1 insertions, 2 deletions
diff --git a/winsup/cygwin/cygtls.cc b/winsup/cygwin/cygtls.cc
index 6b7e0cd51..34ba14934 100644
--- a/winsup/cygwin/cygtls.cc
+++ b/winsup/cygwin/cygtls.cc
@@ -247,8 +247,7 @@ _cygtls::handle_threadlist_exception (EXCEPTION_RECORD *e, exception_list *frame
extern void *threadlist_exception_return;
cygheap->threadlist[threadlist_ix]->remove (INFINITE);
threadlist_ix = 0;
- RtlUnwind (frame, threadlist_exception_return, e, 0);
- /* Never returns */
+ return 0;
}
/* Set up the exception handler for the current thread. The x86 uses segment