* 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>).
This commit is contained in:
@ -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;
|
||||
|
Reference in New Issue
Block a user