From 7b9f3ce02cfd0147efa0aeea0ab4119810696259 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Fri, 18 Sep 2009 21:27:02 +0000 Subject: [PATCH] * exceptions.cc (sigpacket::process): Give sigwait() processing precedence even when a handler is present. * syscalls.cc (getpagesize): Change return to 'int'. --- winsup/cygwin/ChangeLog | 7 +++++++ winsup/cygwin/exceptions.cc | 7 ++++--- winsup/cygwin/syscalls.cc | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 70440a4c9..d44ab542a 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,10 @@ +2009-09-18 Christopher Faylor + + * exceptions.cc (sigpacket::process): Give sigwait() processing + precedence even when a handler is present. + + * syscalls.cc (getpagesize): Change return to 'int'. + 2009-09-16 Christopher Faylor * ntea.c (write_ea): Don't abort if not-samba. diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index df0248947..a66644cc7 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -1207,11 +1207,12 @@ sigpacket::process () insigwait_mask = false; else if (tls) insigwait_mask = sigismember (&tls->sigwait_mask, si.si_signo); + else if (!(tls = _cygtls::find_tls (si.si_signo))) + insigwait_mask = false; else { - insigwait_mask = !handler && (tls = _cygtls::find_tls (si.si_signo)); - if (tls) - use_tls = tls; + use_tls = tls; + insigwait_mask = true; } if (insigwait_mask) diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc index 8fc806f88..e86163886 100644 --- a/winsup/cygwin/syscalls.cc +++ b/winsup/cygwin/syscalls.cc @@ -2056,7 +2056,7 @@ getdtablesize () return cygheap->fdtab.size > OPEN_MAX ? cygheap->fdtab.size : OPEN_MAX; } -extern "C" size_t +extern "C" int getpagesize () { if (!system_info.dwAllocationGranularity)