summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/sigproc.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2002-11-15 04:35:13 +0000
committerChristopher Faylor <me@cgf.cx>2002-11-15 04:35:13 +0000
commit6597785dc2a719262309d251ac57251848a320be (patch)
tree20c0fcb5df7e1e1c09a06b31780d11965581e270 /winsup/cygwin/sigproc.cc
parentd4990113a1fc4df05af7ec5ff63a0951432d4eb2 (diff)
downloadcygnal-6597785dc2a719262309d251ac57251848a320be.tar.gz
cygnal-6597785dc2a719262309d251ac57251848a320be.tar.bz2
cygnal-6597785dc2a719262309d251ac57251848a320be.zip
* exceptions.cc (setup_handler): Add debugging output. Set thread priority to
idle if pending signals to allow other threads to get into interruptible state. * miscfuncs.cc (sys_mbstowcs): Save current thread in variable to avoid an OS call. * wait.cc (wait_sig): Reset thread priority each time through loop since the priority may have been set down to deal with pending signals.
Diffstat (limited to 'winsup/cygwin/sigproc.cc')
-rw-r--r--winsup/cygwin/sigproc.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc
index af59a67ff..5f4d4c07a 100644
--- a/winsup/cygwin/sigproc.cc
+++ b/winsup/cygwin/sigproc.cc
@@ -1096,6 +1096,7 @@ wait_sig (VOID *self)
for (;;)
{
DWORD rc = WaitForMultipleObjects (3, catchem, FALSE, sig_loop_wait);
+ (void) SetThreadPriority (GetCurrentThread (), WAIT_SIG_PRIORITY);
/* sigproc_terminate sets sig_loop_wait to zero to indicate that
* this thread should terminate.