summaryrefslogtreecommitdiffstats
path: root/lib/libc_r
diff options
context:
space:
mode:
authoralfred <alfred@FreeBSD.org>1999-08-19 16:49:53 +0000
committeralfred <alfred@FreeBSD.org>1999-08-19 16:49:53 +0000
commitfb84309fe9f3b17d4cf0820da12fa43a36ef6b0e (patch)
tree198b691081ab839a0e81910da50f955a29574abc /lib/libc_r
parent9ce4e1ab764035c17199595e622237c38cf4b72d (diff)
downloadFreeBSD-src-fb84309fe9f3b17d4cf0820da12fa43a36ef6b0e.zip
FreeBSD-src-fb84309fe9f3b17d4cf0820da12fa43a36ef6b0e.tar.gz
handle under/overflow of time values in a more robust manner,
there may be an overflow that need to be adjusted more than once. Pointed out by: Fabian Thylmann <fthylmann@stats.net> Reviewed by: eivind, jb
Diffstat (limited to 'lib/libc_r')
-rw-r--r--lib/libc_r/uthread/uthread_kern.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/libc_r/uthread/uthread_kern.c b/lib/libc_r/uthread/uthread_kern.c
index e30267b..c0e4a5d 100644
--- a/lib/libc_r/uthread/uthread_kern.c
+++ b/lib/libc_r/uthread/uthread_kern.c
@@ -29,7 +29,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: uthread_kern.c,v 1.19 1999/06/20 08:28:31 jb Exp $
+ * $Id: uthread_kern.c,v 1.20 1999/08/12 19:34:39 deischen Exp $
*
*/
#include <errno.h>
@@ -458,7 +458,7 @@ __asm__("fnsave %0": :"m"(*fdata));
/*
* Check for underflow of the nanosecond field:
*/
- if (ts1.tv_nsec < 0) {
+ while (ts1.tv_nsec < 0) {
/*
* Allow for the underflow of the
* nanosecond field:
@@ -469,7 +469,7 @@ __asm__("fnsave %0": :"m"(*fdata));
/*
* Check for overflow of the nanosecond field:
*/
- if (ts1.tv_nsec >= 1000000000) {
+ while (ts1.tv_nsec >= 1000000000) {
/*
* Allow for the overflow of the
* nanosecond field:
OpenPOWER on IntegriCloud