* hires.h (hires_ns::nsecs): Declare with bool parameter.
* times.cc (hires_ns::nsecs): Take bool parameter. If set to true, don't use prime value (== return system wide absolute value).
This commit is contained in:
parent
99e6ee04d6
commit
8f81761b69
|
@ -1,3 +1,9 @@
|
||||||
|
2013-04-11 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
|
* hires.h (hires_ns::nsecs): Declare with bool parameter.
|
||||||
|
* times.cc (hires_ns::nsecs): Take bool parameter. If set to true,
|
||||||
|
don't use prime value (== return system wide absolute value).
|
||||||
|
|
||||||
2013-04-08 Christopher Faylor <me.cygwin2013@cgf.cx>
|
2013-04-08 Christopher Faylor <me.cygwin2013@cgf.cx>
|
||||||
|
|
||||||
* cygtls.h (_cygtls::reset_signal_arrived): Actually reset the
|
* cygtls.h (_cygtls::reset_signal_arrived): Actually reset the
|
||||||
|
|
|
@ -48,7 +48,7 @@ class hires_ns : public hires_base
|
||||||
double freq;
|
double freq;
|
||||||
void prime ();
|
void prime ();
|
||||||
public:
|
public:
|
||||||
LONGLONG nsecs ();
|
LONGLONG nsecs (bool monotonic = false);
|
||||||
LONGLONG usecs () {return nsecs () / 1000LL;}
|
LONGLONG usecs () {return nsecs () / 1000LL;}
|
||||||
LONGLONG resolution();
|
LONGLONG resolution();
|
||||||
};
|
};
|
||||||
|
|
|
@ -477,7 +477,7 @@ hires_ns::prime ()
|
||||||
}
|
}
|
||||||
|
|
||||||
LONGLONG
|
LONGLONG
|
||||||
hires_ns::nsecs ()
|
hires_ns::nsecs (bool monotonic)
|
||||||
{
|
{
|
||||||
if (!inited)
|
if (!inited)
|
||||||
prime ();
|
prime ();
|
||||||
|
@ -495,7 +495,8 @@ hires_ns::nsecs ()
|
||||||
}
|
}
|
||||||
|
|
||||||
// FIXME: Use round() here?
|
// FIXME: Use round() here?
|
||||||
now.QuadPart = (LONGLONG) (freq * (double) (now.QuadPart - primed_pc.QuadPart));
|
now.QuadPart = (LONGLONG) (freq * (double)
|
||||||
|
(now.QuadPart - (monotonic ? 0LL : primed_pc.QuadPart)));
|
||||||
return now.QuadPart;
|
return now.QuadPart;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -642,7 +643,7 @@ clock_gettime (clockid_t clk_id, struct timespec *tp)
|
||||||
|
|
||||||
case CLOCK_MONOTONIC:
|
case CLOCK_MONOTONIC:
|
||||||
{
|
{
|
||||||
LONGLONG now = ntod.nsecs ();
|
LONGLONG now = ntod.nsecs (true);
|
||||||
if (now == (LONGLONG) -1)
|
if (now == (LONGLONG) -1)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue