Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 05 Aug 2018 08:22:38 -0600
From:      Ian Lepore <ian@freebsd.org>
To:        Warner Losh <imp@bsdimp.com>, "Rodney W. Grimes" <rgrimes@freebsd.org>
Cc:        Conrad Meyer <cem@freebsd.org>, src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r337334 - head/lib/libc/sys
Message-ID:  <1533478958.9860.18.camel@freebsd.org>
In-Reply-To: <CANCZdfpWh25X%2BkKsbrdNY697Ex%2BxG95crVRgKqVQpfrqZO_CoA@mail.gmail.com>
References:  <201808042208.w74M8OmD057603@repo.freebsd.org> <201808042224.w74MOgLi095274@pdx.rh.CN85.dnsmgr.net> <CANCZdfpWh25X%2BkKsbrdNY697Ex%2BxG95crVRgKqVQpfrqZO_CoA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 2018-08-04 at 16:39 -0600, Warner Losh wrote:
> On Sat, Aug 4, 2018 at 4:24 PM, Rodney W. Grimes <
> freebsd@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.
> 

utc_offset is used by all RTC drivers, and by the convenience routines
that convert times to/from FAT filesystem format (which I assume are
used by FAT filesystem code, but I haven't checked that). So if the tz
info passed to settimeofday() ends up in utc_offset, how can we be sure
nobody is relying on that?

> 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@freebsd.org
> > 
> > 



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