Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 03 Dec 2020 20:15:27 +0000
From:      "Poul-Henning Kamp" <phk@phk.freebsd.dk>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        Cy Schubert <Cy.Schubert@cschubert.com>, freebsd-arch@freebsd.org
Subject:   Re: struct timex and Linux adjtimex()
Message-ID:  <25218.1607026527@critter.freebsd.dk>
In-Reply-To: <X8lFIX8n7gKMoDk3@kib.kiev.ua>
References:  <202012030523.0B35NsG7003810@slippy.cwsent.com> <X8i4UIzzH7vxkKvH@kib.kiev.ua> <60532.1606990671@critter.freebsd.dk> <X8i715mJUphnxXEo@kib.kiev.ua> <60612.1606991186@critter.freebsd.dk> <202012031717.0B3HHalx003916@slippy.cwsent.com> <X8lFIX8n7gKMoDk3@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
--------
Konstantin Belousov writes:

>
>               The  value  of  buf.time  is  the sum of its two fields, b=
ut the
>               field buf.time.tv_usec must always be nonnegative.  The  f=
ollow=E2=80=90
>               ing  example  shows  how  to normalize a timeval with nano=
second
>               resolution.
>
>                    while (buf.time.tv_usec < 0) {
>                        buf.time.tv_sec  -=3D 1;
>                        buf.time.tv_usec +=3D 1000000000;
>                    }
>
> I do not quite understand the context and internal meaning of the second
> paragraph, though.  Kernel should not allow negative tv_usec as the inpu=
t
> parameter, right ?

Correct.

Minus 10 nanoseconds should be expressed as { .tv_sec =3D -1; .tv_nsec =3D=
 999999990; }

-- =

Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk@FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    =

Never attribute to malice what can adequately be explained by incompetence=
.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?25218.1607026527>