* 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.
This commit is contained in:
Christopher Faylor
2002-11-15 04:35:13 +00:00
parent d4990113a1
commit 6597785dc2
5 changed files with 27 additions and 9 deletions

View File

@@ -1,6 +1,6 @@
/* miscfuncs.cc: misc funcs that don't belong anywhere else
Copyright 1996, 1997, 1998, 1999, 2000 Red Hat, Inc.
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
This file is part of Cygwin.
@@ -295,8 +295,9 @@ sys_mbstowcs (WCHAR *tgt, const char *src, int len)
void __stdcall
low_priority_sleep (DWORD secs)
{
DWORD prio = GetThreadPriority (GetCurrentThread ());
SetThreadPriority (GetCurrentThread (), THREAD_PRIORITY_IDLE);
HANDLE thisthread = GetCurrentThread ();
int curr_prio = GetThreadPriority (thisthread);
SetThreadPriority (thisthread, THREAD_PRIORITY_IDLE);
Sleep (secs);
SetThreadPriority (GetCurrentThread (), prio);
SetThreadPriority (thisthread, curr_prio);
}