Opened 8 weeks ago
Last modified 7 weeks ago
#19115 new enhancement
kqueue missing EVFILT_USER
Reported by: | monni | Owned by: | nobody |
---|---|---|---|
Priority: | normal | Milestone: | Unscheduled |
Component: | System | Version: | R1/beta5 |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
As far as I know, FreeBSD and NetBSD now have support for EVFILT_USER, OpenBSD doesn't yet support...
EVFILT_USER can be used as alternative for epoll in Linux for implementing dispatcher for co-operative multitasking used in some networking applications where there is one main thread that synchronizes data coming from several fibers using context switching.
Change History (4)
follow-up: 2 comment:1 by , 8 weeks ago
comment:2 by , 8 weeks ago
Replying to waddlesplash:
Do you have an example of an application that makes use of this?
I use it at work, but it's also used by for example nginx when supported.
comment:3 by , 8 weeks ago
Component: | System/Kernel → System |
---|
comment:4 by , 7 weeks ago
Nginx makes use of EVFILT_USER: https://mailman.nginx.org/pipermail/nginx-devel/2015-March/006677.html
"Add support for EVFILT_USER kqueue filter": https://github.com/python/cpython/issues/69788
Here are the "tests" and their description:
https://github.com/stsaz/cpspg/blob/main/samples-kq/kqueue-user.c
https://github.com/stsaz/cpspg/blob/main/samples-kq/kqueue-timer.c
https://github.com/stsaz/cpspg/blob/main/kernel-queue-complete-guide.md
Do you have an example of an application that makes use of this?