aboutsummaryrefslogtreecommitdiff
path: root/winsup
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2000-11-05 03:08:39 +0000
committerChristopher Faylor <me@cgf.cx>2000-11-05 03:08:39 +0000
commit7edb836a68620f50399b6d086ecba7c19d08b10f (patch)
tree4868db7e4b78d75120af851daab622e799c581a5 /winsup
parent1ae469adf4b876830f8a96391e6ae7085c62118c (diff)
downloadnewlib-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/ChangeLog5
-rw-r--r--winsup/cygwin/exceptions.cc2
-rw-r--r--winsup/cygwin/sigproc.cc11
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)
{