diff options
author | Christopher Faylor <me@cgf.cx> | 2000-11-05 03:08:39 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2000-11-05 03:08:39 +0000 |
commit | 7edb836a68620f50399b6d086ecba7c19d08b10f (patch) | |
tree | 4868db7e4b78d75120af851daab622e799c581a5 /winsup | |
parent | 1ae469adf4b876830f8a96391e6ae7085c62118c (diff) | |
download | newlib-7edb836a68620f50399b6d086ecba7c19d08b10f.zip newlib-7edb836a68620f50399b6d086ecba7c19d08b10f.tar.gz newlib-7edb836a68620f50399b6d086ecba7c19d08b10f.tar.bz2 |
* exceptions.cc (handle_sigsuspend): Record frame here for signalling.
(set_process_mask): Ditto.
Diffstat (limited to 'winsup')
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/exceptions.cc | 2 | ||||
-rw-r--r-- | winsup/cygwin/sigproc.cc | 11 |
3 files changed, 12 insertions, 6 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index e27ad37..f841d45 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +Sat Nov 4 22:07:03 2000 Christopher Faylor <cgf@cygnus.com> + + * exceptions.cc (handle_sigsuspend): Record frame here for signalling. + (set_process_mask): Ditto. + Sat Nov 4 14:24:10 2000 Christopher Faylor <cgf@cygnus.com> * sigproc.cc (wait_subproc): Still more debugging cleanup. diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index 88b1957..5fa5889 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -554,6 +554,7 @@ stack (void) int __stdcall handle_sigsuspend (sigset_t tempmask) { + sigframe thisframe (mainthread); sigset_t oldmask = myself->getsigmask (); // Remember for restoration set_process_mask (tempmask & ~SIG_NONMASKABLE);// Let signals we're @@ -872,6 +873,7 @@ ctrl_c_handler (DWORD type) extern "C" void __stdcall set_process_mask (sigset_t newmask) { + sigframe thisframe (mainthread); mask_sync->acquire (INFINITE); sigset_t oldmask = myself->getsigmask (); newmask &= ~SIG_NONMASKABLE; diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc index 27a07d5..e4bd915 100644 --- a/winsup/cygwin/sigproc.cc +++ b/winsup/cygwin/sigproc.cc @@ -262,12 +262,11 @@ proc_subproc (DWORD what, DWORD val) break; /* A child process had terminated. - * Possibly this is just due to an exec(). Cygwin implements an exec() - * as a "handoff" from one windows process to another. If child->hProcess - * is different from what is recorded in hchildren, then this is an exec(). - * Otherwise this is a normal child termination event. - * (called from wait_subproc thread) - */ + Possibly this is just due to an exec(). Cygwin implements an exec() + as a "handoff" from one windows process to another. If child->hProcess + is different from what is recorded in hchildren, then this is an exec(). + Otherwise this is a normal child termination event. + (called from wait_subproc thread) */ case PROC_CHILDTERMINATED: if (hchildren[val] != pchildren[val]->hProcess) { |