timer_getoverrun.2: timer_getoverrun() now clamps the overrun count to DELAYTIMER_MAX

See https://bugzilla.kernel.org/show_bug.cgi?id=12665.
The fix by Thomas Gleixner was in kernel commit
78c9c4dfbf8c04883941445a195276bb4bb92c76.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
Michael Kerrisk 2020-11-11 09:36:59 +01:00
parent 9b71be4f0b
commit 0807d1b387
1 changed files with 12 additions and 3 deletions

View File

@ -121,11 +121,20 @@ then
.BR timer_getoverrun ()
should return
.BR DELAYTIMER_MAX .
However, Linux does not implement this feature: instead,
However, before Linux 4.19,
.\" http://bugzilla.kernel.org/show_bug.cgi?id=12665
if the timer overrun value exceeds the maximum representable integer,
the counter cycles, starting once more from low values.
.\" Bug filed: http://bugzilla.kernel.org/show_bug.cgi?id=12665
.\" http://thread.gmane.org/gmane.linux.kernel/113276/
Since Linux 4.19,
.\" commit 78c9c4dfbf8c04883941445a195276bb4bb92c76
.BR timer_getoverrun ()
returns
.B DELAYTIMER_MAX
(defined as
.B INT_MAX
in
.IR <limits.h> )
in this case (and the overrun value is reset to 0).
.SH EXAMPLES
See
.BR timer_create (2).