From d5223b2b0a89ff9ee3f5eabf713724ef2452092e Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Fri, 10 Jan 2003 03:13:45 +0000 Subject: [PATCH] * cygthread.cc (cygthread::cygthread): Be more noisy about odd condition. * miscfuncs.cc (low_priority_sleep): Sleep in regular priority if that's what we're currently running at. --- winsup/cygwin/ChangeLog | 13 ++++++++++--- winsup/cygwin/cygthread.cc | 2 +- winsup/cygwin/miscfuncs.cc | 11 +++++------ 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 3947fbed0..f1a071360 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,10 @@ +2003-01-09 Christopher Faylor + + * cygthread.cc (cygthread::cygthread): Be more noisy about odd + condition. + * miscfuncs.cc (low_priority_sleep): Sleep in regular priority if + that's what we're currently running at. + 2003-01-09 Thomas Pfaff * include/semaphore.h: Modify typedef for sem_t. @@ -198,12 +205,12 @@ 2002-12-19 Pierre Humblet - * localtime.cc (tzsetwall): Set lcl_is_set and lcl_TZname - in the Cygwin specific part of the routine. + * localtime.cc (tzsetwall): Set lcl_is_set and lcl_TZname + in the Cygwin specific part of the routine. 2002-12-19 Pierre Humblet - * fhandler.cc (fhandler_base::open): Use "flags" rather than "mode" + * fhandler.cc (fhandler_base::open): Use "flags" rather than "mode" in Win9X directory code. 2002-12-19 Steve Osborn diff --git a/winsup/cygwin/cygthread.cc b/winsup/cygwin/cygthread.cc index 5328a39bd..a354125ba 100644 --- a/winsup/cygwin/cygthread.cc +++ b/winsup/cygwin/cygthread.cc @@ -177,7 +177,7 @@ cygthread::cygthread (LPTHREAD_START_ROUTINE start, LPVOID param, low_priority_sleep (0); #else { - thread_printf ("waiting for %s<%p> to become active", __name, h); + system_printf ("waiting for %s<%p> to become active", __name, h); low_priority_sleep (0); } #endif diff --git a/winsup/cygwin/miscfuncs.cc b/winsup/cygwin/miscfuncs.cc index e58565942..a47625cf9 100644 --- a/winsup/cygwin/miscfuncs.cc +++ b/winsup/cygwin/miscfuncs.cc @@ -306,13 +306,12 @@ low_priority_sleep (DWORD secs) staylow = true; } - /* Force any threads in normal priority to be scheduled */ - SetThreadPriority (thisthread, THREAD_PRIORITY_NORMAL); - Sleep (0); - - SetThreadPriority (thisthread, THREAD_PRIORITY_IDLE); + if (curr_prio != THREAD_PRIORITY_NORMAL) + /* Force any threads in normal priority to be scheduled */ + SetThreadPriority (thisthread, THREAD_PRIORITY_NORMAL); Sleep (secs); - if (!staylow) + + if (!staylow || curr_prio == THREAD_PRIORITY_NORMAL) SetThreadPriority (thisthread, curr_prio); return curr_prio; }