Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 May 2013 07:12:48 +0100
From:      Matthew Seaman <matthew@FreeBSD.org>
To:        Michael Sierchio <kudzu@tenebras.com>
Cc:        Kenta Suzumoto <kentas@hush.com>, Joshua Isom <jrisom@gmail.com>, FreeBSD Questions <freebsd-questions@freebsd.org>, freebsd-current@freebsd.org
Subject:   Re: BSD sleep
Message-ID:  <51A59C60.3010709@FreeBSD.org>
In-Reply-To: <CAHu1Y71hY=utT-d4_-B-zuf=W3d_hHPCbM1CkuN8X7Sra_m0_A@mail.gmail.com>
References:  <20130528230140.A5B396F448@smtp.hushmail.com> <51A541B5.3010905@gmail.com> <CAHu1Y71hY=utT-d4_-B-zuf=W3d_hHPCbM1CkuN8X7Sra_m0_A@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
------enig2IWTWOFKWKXRMQFOALULR
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 29/05/2013 05:59, Michael Sierchio wrote:
> On Tue, May 28, 2013 at 4:45 PM, Joshua Isom <jrisom@gmail.com> wrote:
>=20
>=20
>> You think it's trivial until you read this:
>>
>> http://infiniteundo.com/post/**25326999628/falsehoods-**
>> programmers-believe-about-time<http://infiniteundo.com/post/2532699962=
8/falsehoods-programmers-believe-about-time>
>>
>>
> Some days have 86400 seconds, some have 86401.  There is a provision fo=
r
> two leap seconds to be applied at once, but that hasn't ever happened.
>  Still, a truly correct clock, set to UTC, might someday read
>=20
> 23:59:59
> 23:59:60
> 23:59:61
> 00:00:00
>=20
> How many seconds did that hour have?

Right.  The fact that on very rare occasions a minute may not have 60
seconds in it plus many other corner cases in calculating the current
wall-clock time is an amusing irrelevance.

First of all, sleep deals in local elapsed time, which is a well defined
property even if the displayed wall-clock time would be all over the
place due to DST changes or relativistic effects or whatever.

In this case, I'd be pretty surprised if GNU sleep's algorithm was
anything more complicated than to convert the stated time into seconds
and then sleep that number of seconds.  And to do that conversion, it
wwould just define one minute as 60 seconds, one hour as 60 minutes, one
day as 24 hours, one week as 7 days, perhaps one month as 30 days, one
year as 365 days[*].  Sure, it's simplistic and unsophisticated, but as
an engineering solution it's good enough for the vast majority of
purposes.

	Cheers,

	Matthew

[*] I haven't checked on GNU sleep, but (for example) this is exactly
what dnssec-keygen(8) does.

--=20
Dr Matthew J Seaman MA, D.Phil.
PGP: http://www.infracaninophile.co.uk/pgpkey



------enig2IWTWOFKWKXRMQFOALULR
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.16 (Darwin)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iEYEARECAAYFAlGlnGcACgkQ8Mjk52CukIxjWgCfYsDszXTxMIsq6GSIanZKaBfg
VMkAn16VkWFmjQQlfnj6lXizS7EjCiC2
=sH69
-----END PGP SIGNATURE-----

------enig2IWTWOFKWKXRMQFOALULR--



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