diff options
author | Christopher Faylor <me@cgf.cx> | 2005-03-27 23:33:30 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2005-03-27 23:33:30 +0000 |
commit | 491110627f5515bf3d1ecdb42b1dabf7c53f116b (patch) | |
tree | 1409694d9daf0a978602c523b77a5b8b5c3400c6 /winsup | |
parent | c4a2d2f3e1e38585685c1bf1c50835fd3424af38 (diff) | |
download | newlib-491110627f5515bf3d1ecdb42b1dabf7c53f116b.zip newlib-491110627f5515bf3d1ecdb42b1dabf7c53f116b.tar.gz newlib-491110627f5515bf3d1ecdb42b1dabf7c53f116b.tar.bz2 |
* times.cc (hires_ms::usecs): Compare the difference.
* hires.h: Add parentheses to HIRES_DELAY_MAX.
Diffstat (limited to 'winsup')
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/cygtls.h | 2 | ||||
-rw-r--r-- | winsup/cygwin/hires.h | 2 | ||||
-rw-r--r-- | winsup/cygwin/signal.cc | 1 | ||||
-rw-r--r-- | winsup/cygwin/times.cc | 2 |
5 files changed, 8 insertions, 4 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 0f420db..b437660 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -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. diff --git a/winsup/cygwin/cygtls.h b/winsup/cygwin/cygtls.h index 38fe531..9148e2c 100644 --- a/winsup/cygwin/cygtls.h +++ b/winsup/cygwin/cygtls.h @@ -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 diff --git a/winsup/cygwin/hires.h b/winsup/cygwin/hires.h index 2c9f09c..a3e15aa 100644 --- a/winsup/cygwin/hires.h +++ b/winsup/cygwin/hires.h @@ -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 { diff --git a/winsup/cygwin/signal.cc b/winsup/cygwin/signal.cc index 41b4831..1808b24 100644 --- a/winsup/cygwin/signal.cc +++ b/winsup/cygwin/signal.cc @@ -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); diff --git a/winsup/cygwin/times.cc b/winsup/cygwin/times.cc index 4c0909e..2ac2ee6 100644 --- a/winsup/cygwin/times.cc +++ b/winsup/cygwin/times.cc @@ -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 (); |