* 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:
Corinna Vinschen 2013-04-11 19:49:58 +00:00
parent 99e6ee04d6
commit 8f81761b69
3 changed files with 11 additions and 4 deletions

View File

@ -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>
* cygtls.h (_cygtls::reset_signal_arrived): Actually reset the

View File

@ -48,7 +48,7 @@ class hires_ns : public hires_base
double freq;
void prime ();
public:
LONGLONG nsecs ();
LONGLONG nsecs (bool monotonic = false);
LONGLONG usecs () {return nsecs () / 1000LL;}
LONGLONG resolution();
};

View File

@ -477,7 +477,7 @@ hires_ns::prime ()
}
LONGLONG
hires_ns::nsecs ()
hires_ns::nsecs (bool monotonic)
{
if (!inited)
prime ();
@ -495,7 +495,8 @@ hires_ns::nsecs ()
}
// 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;
}
@ -642,7 +643,7 @@ clock_gettime (clockid_t clk_id, struct timespec *tp)
case CLOCK_MONOTONIC:
{
LONGLONG now = ntod.nsecs ();
LONGLONG now = ntod.nsecs (true);
if (now == (LONGLONG) -1)
return -1;