diff options
-rw-r--r-- | winsup/cygwin/ChangeLog | 6 | ||||
-rw-r--r-- | winsup/cygwin/times.cc | 18 |
2 files changed, 20 insertions, 4 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index d6181eb..46962ee 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,5 +1,11 @@ 2005-11-02 Christopher Faylor <cgf@timesys.com> + * times.cc (hires_ms::minperiod): Make copy-on-fork. + (gettimeofday): Remove temporary debugging. + (hires_us::prime): Add lots of temporary debugging output. + +2005-11-02 Christopher Faylor <cgf@timesys.com> + * times.cc (gettimeofday): Add temporary debugging output. 2005-11-01 Christopher Faylor <cgf@timesys.com> diff --git a/winsup/cygwin/times.cc b/winsup/cygwin/times.cc index 0652a12..09cb3aa 100644 --- a/winsup/cygwin/times.cc +++ b/winsup/cygwin/times.cc @@ -144,17 +144,16 @@ totimeval (struct timeval *dst, FILETIME *src, int sub, int flag) dst->tv_sec = x / (long long) (1e6); } -hires_ms gtod; -UINT NO_COPY hires_ms::minperiod; +hires_ms NO_COPY gtod; +UINT hires_ms::minperiod; /* FIXME: Make thread safe */ extern "C" int gettimeofday (struct timeval *tv, struct timezone *tz) { static bool tzflag; -debug_printf ("prior to gtod.usecs"); // DELETEME LONGLONG now = gtod.usecs (false); -debug_printf ("after to gtod.usecs"); // DELETEME + if (now == (LONGLONG) -1) return -1; @@ -562,24 +561,35 @@ void hires_us::prime () { LARGE_INTEGER ifreq; +debug_printf ("before QueryPerformanceFrequency"); // DELETEME if (!QueryPerformanceFrequency (&ifreq)) { +debug_printf ("QueryPerformanceFrequency failed"); // DELETEME inited = -1; return; } +debug_printf ("after QueryPerformanceFrequency"); // DELETEME FILETIME f; int priority = GetThreadPriority (GetCurrentThread ()); + +debug_printf ("before SetThreadPriority(THREAD_PRIORITY_TIME_CRITICAL)"); // DELETEME SetThreadPriority (GetCurrentThread (), THREAD_PRIORITY_TIME_CRITICAL); +debug_printf ("after SetThreadPriority(THREAD_PRIORITY_TIME_CRITICAL)"); // DELETEME if (!QueryPerformanceCounter (&primed_pc)) { +debug_printf ("QueryPerformanceCounter failed, %E"); SetThreadPriority (GetCurrentThread (), priority); +debug_printf ("After failing SetThreadPriority"); inited = -1; return; } +debug_printf ("after QueryPerformanceCounter"); // DELETEME GetSystemTimeAsFileTime (&f); +debug_printf ("after GetSystemTimeAsFileTime"); // DELETEME SetThreadPriority (GetCurrentThread (), priority); +debug_printf ("after SetThreadPriority(%d)", priority); // DELETEME inited = 1; primed_ft.HighPart = f.dwHighDateTime; |