* times.cc (hires_ms::usecs): Compare the difference.

* hires.h: Add parentheses to HIRES_DELAY_MAX.
This commit is contained in:
Christopher Faylor 2005-03-27 23:33:30 +00:00
parent c4a2d2f3e1
commit 491110627f
5 changed files with 8 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2005-03-27 Pierre Humblet <pierre.humblet@ieee.org>
* times.cc (hires_ms::usecs): Compare the difference.
* hires.h: Add parentheses to HIRES_DELAY_MAX.
2005-03-26 Christopher Faylor <cgf@timesys.com>
* timer.cc (nanosleep): Treat tv_sec < 0 as invalid.

View File

@ -1,6 +1,6 @@
/* cygtls.h
Copyright 2003, 2004 Red Hat, Inc.
Copyright 2003, 2004, 2005 Red Hat, Inc.
This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for

View File

@ -19,7 +19,7 @@ details. */
The tv_sec argument in timeval structures cannot exceed
HIRES_DELAY_MAX / 1000 - 1, so that adding fractional part
and rounding won't exceed HIRES_DELAY_MAX */
#define HIRES_DELAY_MAX (((UINT_MAX - 10000) / 1000) * 1000) + 10
#define HIRES_DELAY_MAX ((((UINT_MAX - 10000) / 1000) * 1000) + 10)
class hires_base
{

View File

@ -77,7 +77,6 @@ nanosleep (const struct timespec *rqtp, struct timespec *rmtp)
pthread_testcancel ();
if ((unsigned int) rqtp->tv_sec > (HIRES_DELAY_MAX / 1000 - 1)
|| rqtp->tv_sec < 0
|| (unsigned int) rqtp->tv_nsec > 999999999)
{
set_errno (EINVAL);

View File

@ -597,7 +597,7 @@ hires_ms::usecs (bool justdelta)
if (!minperiod) /* NO_COPY variable */
prime ();
DWORD now = timeGetTime ();
if (now < initime_ms)
if ((now - initime_ms) < 0)
{
inited = 0;
prime ();