Page MenuHomeFreeBSD

D39238.diff
No OneTemporary

D39238.diff

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
--- /dev/null
+++ b/website/content/en/status/report-2023-01-2023-03/timerfd.adoc
@@ -0,0 +1,22 @@
+=== Native Linux timerfd
+
+Links: +
+link:https://reviews.freebsd.org/D38459[Differential revision] URL: link:https://reviews.freebsd.org/D38459[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 fork(2), and may be monitored via kevent(2), poll(2), or 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.

File Metadata

Mime Type
text/plain
Expires
Tue, Apr 7, 6:58 PM (18 h, 8 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30999567
Default Alt Text
D39238.diff (1 KB)

Event Timeline