Page MenuHomeFreeBSD

kqueue: add EV_KEEPUDATA flag
ClosedPublic

Authored by freebsdphab-AX9_cmx.ietfng.org on May 16 2021, 12:17 PM.
Tags
None
Referenced Files
F162317852: D30286.diff
Sun, Jul 12, 12:25 AM
Unknown Object (File)
Thu, Jul 2, 12:58 AM
Unknown Object (File)
Tue, Jun 30, 8:55 AM
Unknown Object (File)
Tue, Jun 30, 4:01 AM
Unknown Object (File)
Sat, Jun 27, 1:03 AM
Unknown Object (File)
Wed, Jun 17, 1:47 PM
Unknown Object (File)
Tue, Jun 16, 1:11 PM
Unknown Object (File)
Jun 10 2026, 11:42 PM

Details

Summary

This allows us to, for example, NOTE_TRIGGER or EV_{EN,DIS}ABLE events without overwriting the stashed pointer.

Test Plan

Manual verification of EV_KEEPUDATA behavior, new test functions

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

I've been using this locally and found it *extremely* useful, and frankly was quite surprised when I found out that EV_ENABLE/EV_DISABLE trashed udata originally.

I think the only thing that would be nice to add in addition are some tests for this. Probably best for that to add a new "native" test binary in tests/sys/kqueue instead of shoe-horning this into the NetBSD tests.

@jhb Any chance you could push this? I've been using this for months and it's worked well for me.

This revision is now accepted and ready to land.Sep 4 2021, 10:51 PM
This revision was automatically updated to reflect the committed changes.