All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Newall <davidn@davidnewall.com>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Nick Andrew <nick@nick-andrew.net>,
	Linas Vepstas <linasvepstas@gmail.com>,
	david@lang.hm, Kyle Moffett <kyle@moffetthome.net>,
	Ben Goodger <goodgerster@gmail.com>,
	Robert Hancock <hancockr@shaw.ca>,
	linux-kernel@vger.kernel.org,
	"Jeffrey J. Kosowsky" <jeff@kosowsky.org>,
	MentalMooMan <slashdot@jameshallam.info>,
	Travis Crump <pretzalz@techhouse.org>,
	burdell@iruntheinter.net
Subject: Re: Bug: Status/Summary of slashdot leap-second crash on new years 2008-2009
Date: Wed, 07 Jan 2009 20:16:18 +1030	[thread overview]
Message-ID: <496479EA.1020207@davidnewall.com> (raw)
In-Reply-To: <20090106094058.64c89586@lxorguk.ukuu.org.uk>

Alan Cox wrote:
>>        UTC  equivalent  to  conversion  on  the naive basis that leap seconds are ignored and all
>>        years divisible by 4 are leap years.  This value is not the same as the actual  number  of
>>        seconds between the time and the Epoch, because of leap seconds and because clocks are not
>>        required to be synchronized to a standard reference.
>>     
>
> I'm not sure what you are quoting from but it is out of date on the
> subject of leap years.
>   

The range of signed 32-bit times is 1901 through 2039, which has only
one century, 2000, which is a leap year.  So the caveat for leap years
is correct but unnecessary.


So I've discoverd, at least on Ubuntu, something wonderful and
reassuring.  It already works exactly the way I think is correct.  Look:
I create a test timezone with no daylight saving and one leap second:

    davidn@takauji:~/timetest$ cat tz
    Zone testzone 0:00 0 XXX/YYY
    davidn@takauji:~/timetest$ cat leapseconds
    Leap 2008 Dec 31 23:59:59 + S
    davidn@takauji:~/timetest$ zic -d . -L leapseconds tz

Then the test program, which makes a time_t (what time() returns) for a
few seconds before the leap second, then counts off seconds...

    davidn@takauji:~/timetest$ cat timetest.c
    #include <time.h>
    #include <stdio.h>

    main() {

            setenv("TZ", ":/home/davidn/timetest/testzone", 1);

            struct tm tm1 = { 55, 59, 23, 31, 11, 108 };
            time_t t1 = mktime(&tm1);
            int i;
            for (i = 10; --i; t1++) printf("ctime(%ld) = %s", t1, ctime(&t1));

            return 0;
      

    }


Observe two 23:59:59's.  Apparently it could be better if the second
23:59:59 was 23:59:60, but I prefer it this way.

    davidn@takauji:~/timetest$ ./timetest
    ctime(1230767995) = Wed Dec 31 23:59:55 2008
    ctime(1230767996) = Wed Dec 31 23:59:56 2008
    ctime(1230767997) = Wed Dec 31 23:59:57 2008
    ctime(1230767998) = Wed Dec 31 23:59:58 2008
    ctime(1230767999) = Wed Dec 31 23:59:59 2008
    ctime(1230768000) = Wed Dec 31 23:59:59 2008
    ctime(1230768001) = Thu Jan 1 00:00:00 2009
    ctime(1230768002) = Thu Jan 1 00:00:01 2009
    ctime(1230768003) = Thu Jan 1 00:00:02 2009


Perhaps this is distribution-dependent, but even so, there's no need for
the kernel to drop the second (and it's wrong if it does.)

  parent reply	other threads:[~2009-01-07  9:46 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-02 19:25 Bug: Status/Summary of slashdot leap-second crash on new years 2008-2009 Linas Vepstas
2009-01-02 20:04 ` Diego Calleja
2009-01-02 20:25   ` Robert Hancock
2009-01-03  6:32     ` David Newall
2009-01-03  6:37       ` Ben Goodger
2009-01-04  8:43         ` David Newall
2009-01-04  9:00           ` Kyle Moffett
2009-01-04 10:03             ` David Newall
2009-01-04 11:13               ` david
2009-01-04 23:15                 ` David Newall
2009-01-04 23:25                   ` Chris Adams
2009-01-05  0:01                     ` David Newall
2009-01-05  0:41                       ` Alan Cox
2009-01-05  8:43                         ` David Newall
2009-01-05 19:47                           ` Alan Cox
2009-01-05  0:29                   ` david
2009-01-04 23:37                     ` David Newall
2009-01-05  1:05                       ` david
2009-01-05  0:14                         ` David Newall
2009-01-05  0:21                           ` Ben Goodger
2009-01-05  6:34                             ` David Newall
2009-01-05 23:03                               ` Linas Vepstas
2009-01-05  0:44                         ` Alan Cox
2009-01-05  5:48                       ` Linas Vepstas
2009-01-05 14:33                         ` Nick Andrew
2009-01-05 16:08                           ` Linas Vepstas
2009-01-05 17:51                             ` david
2009-01-05 17:42                               ` Linas Vepstas
2009-01-06  2:27                                 ` john stultz-lkml
2009-01-06  4:53                                   ` Linas Vepstas
2009-01-06  5:00                                     ` Linas Vepstas
2009-01-06 19:40                                     ` [ntpwg] " M. Warner Losh
2009-01-06 19:50                                 ` M. Warner Losh
2009-01-07  3:50                                 ` Danny Mayer
2009-01-07  4:52                                   ` Linas Vepstas
2009-01-07 10:03                                     ` David Newall
2009-01-07 17:24                                       ` M. Warner Losh
2009-01-08 16:51                                         ` Magnus Danielson
2009-01-07 14:34                                     ` Danny Mayer
2009-01-07 15:42                                       ` Linas Vepstas
2009-01-07 19:23                                         ` Danny Mayer
2009-01-07 16:04                                       ` john stultz
2009-01-07 17:36                                     ` M. Warner Losh
2009-01-07 17:39                                   ` M. Warner Losh
2009-01-07 19:31                                     ` Alan Cox
2009-01-07 19:42                                       ` M. Warner Losh
2009-01-08  3:57                                       ` Danny Mayer
2009-01-08  4:42                                         ` M. Warner Losh
2009-01-08 10:48                                           ` Alan Cox
2009-01-08 10:56                                             ` Alan Cox
2009-01-08 22:22                                               ` David Mills
2009-01-08 15:02                                             ` M. Warner Losh
2009-01-08 18:57                                               ` Marshall Eubanks
2009-01-08 20:09                                     ` Steve Allen
2009-01-12 16:11                                 ` Pavel Machek
2009-01-12 17:07                                   ` [ntpwg] " M. Warner Losh
2009-01-12 21:45                                     ` Valdis.Kletnieks
2009-01-06  2:31                             ` Nick Andrew
2009-01-06  1:59                           ` David Newall
2009-01-06  2:18                             ` Chris Adams
2009-01-06  2:51                             ` Nick Andrew
2009-01-06  9:40                               ` Alan Cox
2009-01-07  1:17                                 ` Nick Andrew
2009-01-07  9:37                                   ` Alan Cox
2009-01-07  9:46                                 ` David Newall [this message]
2009-01-07  9:54                                   ` Alan Cox
2009-01-07 10:18                                     ` David Newall
2009-01-07 10:52                                       ` Alan Cox
2009-01-07 13:45                                         ` David Newall
2009-01-07 14:10                                           ` Alan Cox
2009-01-07 14:36                                             ` David Newall
2009-01-07 15:40                                               ` Alan Cox
2009-01-10  9:46                                                 ` David Newall
2009-01-07 22:13                                               ` Chris Adams
2009-01-07 13:33                                       ` Chris Adams
2009-01-07 13:37                                         ` Alan Cox
2009-01-07 14:12                                           ` David Newall
2009-01-07 14:09                                         ` David Newall
2009-01-07 21:42                                           ` Chris Adams
2009-01-04 11:35               ` Valdis.Kletnieks
2009-01-05  0:08                 ` David Newall
2009-01-06  3:53                   ` Valdis.Kletnieks
2009-01-04 17:20               ` Kyle Moffett
2009-01-03  7:00       ` Chris Adams
2009-01-04  8:41         ` David Newall
2009-01-02 20:29   ` Linas Vepstas
     [not found] ` <8752a8760901021328t545a0327v58faebe1e921680a@mail.gmail.com>
2009-01-02 21:29   ` Ben Goodger
2009-01-03  0:21 ` Chris Adams
2009-01-03  2:23   ` Duane Griffin
2009-01-03  3:45     ` Linas Vepstas
2009-01-03  4:41     ` [PATCH] " Chris Adams
2009-01-03  4:52       ` Duane Griffin
2009-01-03 18:01         ` [PATCH] v2 " Chris Adams
2009-01-03 19:04           ` Duane Griffin
2009-01-03 20:01           ` Linas Vepstas
2009-06-08  2:18           ` Ben Hutchings
2009-06-18 22:34             ` Chris Friesen
2009-06-18 22:58               ` Ben Hutchings
2009-06-18 23:48                 ` Chris Friesen
2009-01-06  2:21   ` john stultz-lkml
2009-01-06  2:25     ` Chris Adams
2009-01-06  4:35     ` Linas Vepstas
2009-01-03  3:49 ` Linas Vepstas
2009-01-03  4:02   ` Ben Goodger
2009-01-03  4:46     ` Duane Griffin
2009-01-03  4:50       ` Ben Goodger
2009-01-03 22:58   ` Jeffrey J. Kosowsky
     [not found] <fa.dw2l5ZM+UL3xoF6IYh5RLMmbYfw@ifi.uio.no>
     [not found] ` <fa.XOM1F85uBvmj4QzZKaDu36nYBk0@ifi.uio.no>
     [not found]   ` <fa.rviZJBmVqkAE5uxDjhJOpIuKT4g@ifi.uio.no>
     [not found]     ` <fa.OPVERUiJ763jH2/QynTxgBgoKYw@ifi.uio.no>
     [not found]       ` <fa.v3FUjJ43bw2G7KiZGaxqL3tD4xo@ifi.uio.no>
     [not found]         ` <fa.BrNhgY8S+TEOLMiPd27M7YHo9bI@ifi.uio.no>
2009-01-04 16:15           ` Sitsofe Wheeler
2009-01-04 17:26             ` Kyle Moffett

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=496479EA.1020207@davidnewall.com \
    --to=davidn@davidnewall.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=burdell@iruntheinter.net \
    --cc=david@lang.hm \
    --cc=goodgerster@gmail.com \
    --cc=hancockr@shaw.ca \
    --cc=jeff@kosowsky.org \
    --cc=kyle@moffetthome.net \
    --cc=linasvepstas@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nick@nick-andrew.net \
    --cc=pretzalz@techhouse.org \
    --cc=slashdot@jameshallam.info \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.