* times.cc (hires_ms::minperiod): Make copy-on-fork.

(gettimeofday): Remove temporary debugging.
(hires_us::prime): Add lots of temporary debugging output.
This commit is contained in:
Christopher Faylor 2005-11-03 02:41:51 +00:00
parent 1c2812f80e
commit 369adcf72f
2 changed files with 20 additions and 4 deletions

View File

@ -1,3 +1,9 @@
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> 2005-11-02 Christopher Faylor <cgf@timesys.com>
* times.cc (gettimeofday): Add temporary debugging output. * times.cc (gettimeofday): Add temporary debugging output.

View File

@ -144,17 +144,16 @@ totimeval (struct timeval *dst, FILETIME *src, int sub, int flag)
dst->tv_sec = x / (long long) (1e6); dst->tv_sec = x / (long long) (1e6);
} }
hires_ms gtod; hires_ms NO_COPY gtod;
UINT NO_COPY hires_ms::minperiod; UINT hires_ms::minperiod;
/* FIXME: Make thread safe */ /* FIXME: Make thread safe */
extern "C" int extern "C" int
gettimeofday (struct timeval *tv, struct timezone *tz) gettimeofday (struct timeval *tv, struct timezone *tz)
{ {
static bool tzflag; static bool tzflag;
debug_printf ("prior to gtod.usecs"); // DELETEME
LONGLONG now = gtod.usecs (false); LONGLONG now = gtod.usecs (false);
debug_printf ("after to gtod.usecs"); // DELETEME
if (now == (LONGLONG) -1) if (now == (LONGLONG) -1)
return -1; return -1;
@ -562,24 +561,35 @@ void
hires_us::prime () hires_us::prime ()
{ {
LARGE_INTEGER ifreq; LARGE_INTEGER ifreq;
debug_printf ("before QueryPerformanceFrequency"); // DELETEME
if (!QueryPerformanceFrequency (&ifreq)) if (!QueryPerformanceFrequency (&ifreq))
{ {
debug_printf ("QueryPerformanceFrequency failed"); // DELETEME
inited = -1; inited = -1;
return; return;
} }
debug_printf ("after QueryPerformanceFrequency"); // DELETEME
FILETIME f; FILETIME f;
int priority = GetThreadPriority (GetCurrentThread ()); int priority = GetThreadPriority (GetCurrentThread ());
debug_printf ("before SetThreadPriority(THREAD_PRIORITY_TIME_CRITICAL)"); // DELETEME
SetThreadPriority (GetCurrentThread (), THREAD_PRIORITY_TIME_CRITICAL); SetThreadPriority (GetCurrentThread (), THREAD_PRIORITY_TIME_CRITICAL);
debug_printf ("after SetThreadPriority(THREAD_PRIORITY_TIME_CRITICAL)"); // DELETEME
if (!QueryPerformanceCounter (&primed_pc)) if (!QueryPerformanceCounter (&primed_pc))
{ {
debug_printf ("QueryPerformanceCounter failed, %E");
SetThreadPriority (GetCurrentThread (), priority); SetThreadPriority (GetCurrentThread (), priority);
debug_printf ("After failing SetThreadPriority");
inited = -1; inited = -1;
return; return;
} }
debug_printf ("after QueryPerformanceCounter"); // DELETEME
GetSystemTimeAsFileTime (&f); GetSystemTimeAsFileTime (&f);
debug_printf ("after GetSystemTimeAsFileTime"); // DELETEME
SetThreadPriority (GetCurrentThread (), priority); SetThreadPriority (GetCurrentThread (), priority);
debug_printf ("after SetThreadPriority(%d)", priority); // DELETEME
inited = 1; inited = 1;
primed_ft.HighPart = f.dwHighDateTime; primed_ft.HighPart = f.dwHighDateTime;