created | 2022-02-13T19:44:20Z |
---|---|
begin | 2022-02-08T03:38:00Z |
end | 2022-02-08T08:56:41Z |
path | src/sys |
commits | 1 |
date | 2022-02-08T08:56:41Z | |||
---|---|---|---|---|
author | visa | |||
files | src/sys/kern/kern_event.c | log | diff | annotate |
src/sys/kern/sys_generic.c | log | diff | annotate | |
src/sys/sys/event.h | log | diff | annotate | |
src/sys/sys/eventvar.h | log | diff | annotate | |
message |
poll(2): Switch to kqueue backend Implement the poll(2) system call on top of the kqueue subsystem. This obsoletes the old, non-MP-safe poll backend. On entering poll(2), the new code translates each pollfd array entry into a set of knotes. When these knotes receive events through kqueue, the events are translated back to pollfd format. Entries in the pollfd array can refer to the same file descriptor with overlapping event masks. To allow such overlap with knotes, use an extra kn_pollid key that separates knotes of different pollfd entries. Adapted from DragonFly BSD, initial implementation by mpi@. Tested in snaps for three weeks. OK mpi@ |