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; }