const struct timeval* start)
{
#ifndef S_SPLINT_S
- time_t end_usec = end->tv_usec;;
+ time_t end_usec = end->tv_usec;
d->tv_sec = end->tv_sec - start->tv_sec;
- while(end_usec < start->tv_usec) {
+ if(end_usec < start->tv_usec) {
end_usec += 1000000;
d->tv_sec--;
}
#ifndef S_SPLINT_S
d->tv_sec += add->tv_sec;
d->tv_usec += add->tv_usec;
- while(d->tv_usec > 1000000 ) {
+ if(d->tv_usec > 1000000) {
d->tv_usec -= 1000000;
d->tv_sec++;
}
23 November 2009: Wouter
- Patch from David Hubbard for libunbound manual page.
+ - Fixup endless spinning in unbound-control stats reported by
+ Attila Nagy. Probably caused by clock reversal.
20 November 2009: Wouter
- contrib/split-itar.sh contributed by Tom Hendrikx.
timeval_subtract(struct timeval* d, const struct timeval* end, const struct timeval* start)
{
#ifndef S_SPLINT_S
- time_t end_usec = end->tv_usec;;
+ time_t end_usec = end->tv_usec;
d->tv_sec = end->tv_sec - start->tv_sec;
- while(end_usec < start->tv_usec) {
+ if(end_usec < start->tv_usec) {
end_usec += 1000000;
d->tv_sec--;
}
#ifndef S_SPLINT_S
d->tv_sec += add->tv_sec;
d->tv_usec += add->tv_usec;
- while(d->tv_usec > 1000000 ) {
+ if(d->tv_usec > 1000000 ) {
d->tv_usec -= 1000000;
d->tv_sec++;
}
#ifndef S_SPLINT_S
d->tv_sec += add->tv_sec;
d->tv_usec += add->tv_usec;
- while(d->tv_usec > 1000000 ) {
+ if(d->tv_usec > 1000000) {
d->tv_usec -= 1000000;
d->tv_sec++;
}