diff options
Diffstat (limited to 'website/content/en/status/report-2023-01-2023-03/timerfd.adoc')
-rw-r--r-- | website/content/en/status/report-2023-01-2023-03/timerfd.adoc | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/website/content/en/status/report-2023-01-2023-03/timerfd.adoc b/website/content/en/status/report-2023-01-2023-03/timerfd.adoc new file mode 100644 index 0000000000..b6d9ec7ee6 --- /dev/null +++ b/website/content/en/status/report-2023-01-2023-03/timerfd.adoc @@ -0,0 +1,20 @@ +=== Native Linux timerfd + +Links: + +link:https://reviews.freebsd.org/D38459[Differential revision] URL: link:https://reviews.freebsd.org/D38459[] + +Contact: Jake Freeland <jfree@FreeBSD.org> + +The timerfd facility is a set of Linux-standard system calls that operate on interval timers. +These timers are analogous to per-process timers but are represented by a file descriptor, rather than a process. +These file descriptors may be passed to other processes, are preserved across man:fork[2], and may be monitored via man:kevent[2], man:poll[2], or man:select[2]. + +A timerfd implementation in FreeBSD already exists for Linux compatibility, but link:https://reviews.freebsd.org/D38459[this differential revision] makes the interface native. +The goal behind this change is to ease the FreeBSD porting process for programs that include timerfd. + +This specific implementation avoids adding new names to the system call table. +Instead, `timerfd_create()` is wrapped by the `specialfd()` system call. +The `timerfd_gettime() and `timerfd_settime()` calls are wrapped `ioctl()` s. + +Developers that wish to support FreeBSD should avoid using timerfd. +The `kqueue()` `EVFILT_TIMER` filter is preferred for establishing arbitrary timers. |