From b7e90b290ab511dbbf1f1598e49092aaa73599e6 Mon Sep 17 00:00:00 2001 From: Kyle Evans Date: Thu, 30 Sep 2021 13:19:05 -0500 Subject: [PATCH] kqueue: document how timers with low/past timeouts are handled (cherry picked from commit 4b5554cebb66020f59dc869b835aebbd66e4bb8c) --- lib/libc/sys/kqueue.2 | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/libc/sys/kqueue.2 b/lib/libc/sys/kqueue.2 index ed737c626ef..ffcddc00303 100644 --- a/lib/libc/sys/kqueue.2 +++ b/lib/libc/sys/kqueue.2 @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 7, 2021 +.Dd October 6, 2021 .Dt KQUEUE 2 .Os .Sh NAME @@ -584,6 +584,12 @@ On return, .Va fflags contains the events which triggered the filter. .Pp +Periodic timers with a specified timeout of 0 will be silently adjusted to +timeout after 1 of the time units specified by the requested precision in +.Va fflags . +If an absolute time is specified that has already passed, then it is treated as +if the current time were specified and the event will fire as soon as possible. +.Pp If an existing timer is re-added, the existing timer will be effectively canceled (throwing away any undelivered record of previous timer expiration) and re-started using the new parameters contained in