* 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:
parent
1c2812f80e
commit
369adcf72f
|
@ -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.
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue