svn commit: r337334 - head/lib/libc/sys

Warner Losh imp at bsdimp.com
Sat Aug 4 22:39:53 UTC 2018


On Sat, Aug 4, 2018 at 4:24 PM, Rodney W. Grimes <
freebsd at pdx.rh.cn85.dnsmgr.net> wrote:

> > Author: cem
> > Date: Sat Aug  4 22:08:24 2018
> > New Revision: 337334
> > URL: https://svnweb.freebsd.org/changeset/base/337334
> >
> > Log:
> >   settimeofday(2): Remove stale note about timezone
> >
> >   Contrary to the removed comment, the kernel does appear to use the
> timezone
> >   argument of settimeofday.  The comment dates to the BSD4.4 import; I
> assume it
> >   is just stale.
>
> In what way is the kernel using TZ?   It shouldn't be.
> Or is it using the TZ to adjust the passed in time to UTC/GMT,
> which I would of thought is done before calling settimeofday.


Specifically, for compatibility, we store minutes west of UTC on
settimeofday and we retrieve it for settimeofday. Otherwise it's 100%
unused by anything else at all in the system. Well, technically, we use it
for utc_offset, we don't really use that elsewhere (one can find references
in utc_offset, but usually we set this via adjkerntz, which is actively
used in the system). tz_minuteswest likely should just be removed, and the
argument to settimzeofday should just be completely ignored.

One could test it with date -t, nothing does that today. That should be
removed also. Likewise date -d.

So while hyper technically, one could use this, nobody does, nor has since
between 4.3 and 4.4 when it was realized that storing the timezone in the
kernel was a really stupid idea. That's what the language used in the man
page that you removed was trying to say.

Warner


> > Modified:
> >   head/lib/libc/sys/gettimeofday.2
> >
> > Modified: head/lib/libc/sys/gettimeofday.2
> > ============================================================
> ==================
> > --- head/lib/libc/sys/gettimeofday.2  Sat Aug  4 21:57:17 2018
> (r337333)
> > +++ head/lib/libc/sys/gettimeofday.2  Sat Aug  4 22:08:24 2018
> (r337334)
> > @@ -28,7 +28,7 @@
> >  .\"     @(#)gettimeofday.2   8.2 (Berkeley) 5/26/95
> >  .\" $FreeBSD$
> >  .\"
> > -.Dd December 27, 2015
> > +.Dd August 4, 2018
> >  .Dt GETTIMEOFDAY 2
> >  .Os
> >  .Sh NAME
> > @@ -44,11 +44,6 @@
> >  .Ft int
> >  .Fn settimeofday "const struct timeval *tp" "const struct timezone *tzp"
> >  .Sh DESCRIPTION
> > -.Bf -symbolic
> > -Note: timezone is no longer used; this information is kept outside
> > -the kernel.
> > -.Ef
> > -.Pp
> >  The system's notion of the current Greenwich time and the current time
> >  zone is obtained with the
> >  .Fn gettimeofday
> >
> >
>
> --
> Rod Grimes
> rgrimes at freebsd.org
>
>


More information about the svn-src-head mailing list