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
F148111119: D30286.diff
Sun, Mar 15, 8:47 PM
Unknown Object (File)
Wed, Mar 4, 3:45 PM
Unknown Object (File)
Sat, Feb 21, 11:15 PM
Unknown Object (File)
Sat, Feb 21, 7:59 PM
Unknown Object (File)
Sat, Feb 21, 5:28 PM
Unknown Object (File)
Sat, Feb 21, 4:53 PM
Unknown Object (File)
Sat, Feb 21, 4:53 PM
Unknown Object (File)
Fri, Feb 20, 9:50 AM

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.