[Cross-posted to tech-userlevel because this is primarily about an API exposed 
to user-space.]

This past winter, I wrote NetBSD native implementations of the Linux timerfd[1] 
and eventfd[2] APIs, mainly to fill out gaps in COMPAT_LINUX.  Of course, I 
wanted to write ATF unit tests for them, so I needed them to be native 
syscalls, too.

The code to implement these is quite small, and the APIs are not unreasonable 
(eventfd is certainly less cumbersome to use for its intended purpose than a 
pair of pipes, and timerfd is a much better interface than EVFILT_TIMER and 
essentially serves as a descriptor-oriented interface to the regular POSIX 
timer support).  Because of this, I think they should be included as native 
syscalls.

If the consensus is that these are reasonable things to add as native syscalls, 
I’ll whip up man pages for them and do that.  Otherwise, I’ll just relegate 
them to COMPAT_LINUX and toss the ATF unit tests (I see no mechanism to run ATF 
unit tests against COMPAT_* syscalls, and I’m not particularly inclined to 
invent one).

[1] https://man7.org/linux/man-pages/man2/timerfd_create.2.html

[2] https://man7.org/linux/man-pages/man2/eventfd.2.html

-- thorpej

Reply via email to