Page MenuHomeFreeBSD

Add support for anonymous kqueues.
ClosedPublic

Authored by ed on Aug 5 2015, 8:33 AM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Apr 16, 12:32 PM
Unknown Object (File)
Jan 9 2024, 2:51 PM
Unknown Object (File)
Jan 1 2024, 9:24 AM
Unknown Object (File)
Nov 18 2023, 4:34 PM
Unknown Object (File)
Oct 3 2023, 4:29 AM
Unknown Object (File)
Aug 31 2023, 10:47 PM
Unknown Object (File)
Aug 24 2023, 12:04 AM
Unknown Object (File)
Jul 28 2023, 11:23 PM
Subscribers

Details

Summary

CloudABI's polling system calls merge the concept of one-shot polling
(poll, select) and stateful polling (kqueue). They share the same data
structures.

Extend FreeBSD's kqueue to provide support for waiting for events on an
anonymous kqueue. Unlike stateful polling, there is no need to support
timeouts, as an additional timer event could be used instead.
Furthermore, it makes no sense to use a different number of input and
output kevents. Merge this into a single argument.

Test Plan

This change has been in use for a couple of months now. Both one-shot
and stateful polling still work.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

ed retitled this revision from to Add support for anonymous kqueues..
ed updated this object.
ed edited the test plan for this revision. (Show Details)
ed added a reviewer: jmg.

My plan is to push in this change and D3308 upcoming week, for the reason that these are among the last changes needed to make CloudABI binaries work. Be sure to get in touch in case you can think of any improvements. Thanks!

This revision was automatically updated to reflect the committed changes.

Look good.. Please address the comments.

Thanks.

head/sys/kern/kern_event.c
979

brief comment on what this function is used for would be useful... i.e. that it's for one shot events I believe

1834

KASSERT that kq_fdp is NULL here.

1865

need to set kq->kq_fdp to NULL here