diff options
author | Christopher Faylor <me@cgf.cx> | 2000-10-18 04:53:37 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2000-10-18 04:53:37 +0000 |
commit | ac944e37d029c8bc9e38a51be76fece99a2826f1 (patch) | |
tree | 26faad099a731a19876502ed4b278a6bd43bcda7 /winsup/cygwin/exceptions.cc | |
parent | 3f7bd531155175f7c8158b68fcaf9e1aa98f9c1d (diff) | |
download | newlib-ac944e37d029c8bc9e38a51be76fece99a2826f1.zip newlib-ac944e37d029c8bc9e38a51be76fece99a2826f1.tar.gz newlib-ac944e37d029c8bc9e38a51be76fece99a2826f1.tar.bz2 |
* exceptions.cc (call_handler): Make signal pending if sigsave.sig is still
active.
* syscalls.cc (_read): Don't clear errno.
* sigproc.cc (wait_sig): Don't scan the waiting process list after a SIGCHLD if
there are no zombies to reap.
* winsup.h: Use __builtin_strcmp.
* environ.cc (posify): Don't initialize len unless it is required
(from DJ Delorie <dj@redhat.com>).
Diffstat (limited to 'winsup/cygwin/exceptions.cc')
-rw-r--r-- | winsup/cygwin/exceptions.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index 75ad01c..c4b87f0 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -216,7 +216,7 @@ public: /* This is the main stack frame info for this process. */ static NO_COPY stack_info thestack; -signal_dispatch sigsave; +static signal_dispatch sigsave; /* Initialize everything needed to start iterating. */ void @@ -711,6 +711,9 @@ call_handler (int sig, struct sigaction& siga, void *handler) mainthread.lock->acquire (); + if (sigsave.sig) + goto set_pending; + if (mainthread.frame) { ebp = mainthread.frame; |