OSDN Git Service

* cygthread.cc (cygthread::cygthread): Be more noisy about odd condition.
authorcgf <cgf>
Fri, 10 Jan 2003 03:13:44 +0000 (03:13 +0000)
committercgf <cgf>
Fri, 10 Jan 2003 03:13:44 +0000 (03:13 +0000)
* miscfuncs.cc (low_priority_sleep): Sleep in regular priority if that's what
we're currently running at.

winsup/cygwin/ChangeLog
winsup/cygwin/cygthread.cc
winsup/cygwin/miscfuncs.cc

index 3947fbe..f1a0713 100644 (file)
@@ -1,3 +1,10 @@
+2003-01-09  Christopher Faylor  <cgf@redhat.com>
+
+       * 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  <tpfaff@gmx.net>
 
        * include/semaphore.h: Modify typedef for sem_t.
 
 2002-12-19  Pierre Humblet <pierre.humblet@ieee.org>
 
-        * 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 <pierre.humblet@ieee.org>
 
-        * 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  <bub@io.com>
index 5328a39..a354125 100644 (file)
@@ -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
index e585659..a47625c 100644 (file)
@@ -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;
 }