1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-04-21 03:12:48 +02:00

Round more carefully so we never call nanosleep with more than 999,999,999

nanoseconds.
Comment out assertion because it uses on EINTR.
This commit is contained in:
Jim Meyering
1999-11-28 14:03:43 +00:00
parent 0baa523154
commit e20a9b89d2

View File

@@ -168,14 +168,19 @@ main (int argc, char **argv)
if (fail)
usage (1);
/* Round to the nearest nanosecond here so that tv_nsec will be
no larger than 999,999,999. */
seconds += .0000000005;
/* Separate whole seconds from nanoseconds. */
ts.tv_sec = seconds;
ts.tv_nsec = (int) ((seconds - ts.tv_sec) * 1000000000 + .5);
ts.tv_nsec = (seconds - ts.tv_sec) * 1000000000;
while (1)
{
struct timespec remaining;
interrupted = nanosleep (&ts, &remaining);
assert (!interrupted || errno == EINTR);
/* assert (!interrupted || errno == EINTR); */
if (!interrupted)
break;
ts = remaining;