[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.11.1410281644070.5308@nanos>
Date: Tue, 28 Oct 2014 16:45:00 +0100 (CET)
From: Thomas Gleixner <tglx@...utronix.de>
To: Pádraig Brady <P@...igBrady.com>
cc: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Paul Eggert <eggert@...ucla.edu>,
bug-gnulib <bug-gnulib@....org>
Subject: Re: nanosleep truncated on 64 bit Linux by 292 billion years
On Mon, 27 Oct 2014, Pádraig Brady wrote:
> I noticed that nanosleep() on 64 bit, "only" supports 292 years,
> rather than the full potential 292 billion years with 64 bit time_t, due to:
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/include/linux/time.h?id=refs/tags/v3.16#n87
>
> Attached is a program from Paul Eggert that illustrates the bug.
> Running this program on a buggy host outputs something like this:
>
> Setting alarm for 1 second from now ...
> Sleeping for 9223372036854775807.999999999 seconds...
> After alarm sent off, remaining time is 9223357678.462306617 seconds;
> i.e., nanosleep claimed that it slept for about 293079448610.606445 years.
I'm aware of the issue. It's on my ever growing todo list.
Thanks,
tglx
Powered by blists - more mailing lists