Package: manpages-dev
Version: 2.79-4
Severity: wishlist
The BUGS section in nanosleep(2) gives:
BUGS
The current implementation of nanosleep() is based on the
normal kernel timer mechanism, which has a resolution of
1/HZ s (see time(7)). Therefore, nanosleep() pauses
always for at least the specified time, however it can
take up to 10 ms longer than specified until the process
becomes runnable again. For the same reason, the value
returned in case of a delivered signal in *rem is usually
rounded to the next larger multiple of 1/HZ s.
Old behavior
In order to support applications requiring much more
precise pauses (e.g., in order to control some
time-critical hardware), nanosleep() would handle pauses
of up to 2 ms by busy waiting with microsecond
precision when called from a process scheduled under a
real-time policy like SCHED_FIFO or SCHED_RR. This
special extension was removed in kernel 2.5.39, hence is
still present in current 2.4 kernels, but not in 2.6
kernels.
In Linux 2.4, if nanosleep() is stopped by a signal
(e.g., SIGTSTP), then the call fails with the error EINTR
after the process is resumed by a SIGCONT signal. If
the system call is subsequently restarted, then the time
that the process spent in the stopped state is not
counted against the sleep interval.
I think it should be worth mentionning that since 2.6.16, on
some architectures, the kernel can be configured with high
resolution timers which makes nanosleep(2) a lot more accurate
and voids the first comment above.
Also, I'm not sure whether the HZ above is the user's HZ (100)
or the kernel HZ (defined at compilation time), it may worth
clarifying.
Other man pages such as setitimer(2) might need to be updated as
well.
-- System Information:
Debian Release: lenny/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.25-rc8 (PREEMPT)
Locale: LANG=en_GB.ISO-8859-15, LC_CTYPE=en_US.ISO-8859-15 (charmap=ISO-8859-15)
Shell: /bin/sh linked to /bin/bash
Versions of packages manpages-dev depends on:
ii manpages 2.79-4 Manual pages about using a GNU/Lin
manpages-dev recommends no packages.
-- no debconf information
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]