summaryrefslogtreecommitdiff
path: root/usr.bin/ipcrm
diff options
context:
space:
mode:
authorVisa Hankala <visa@cvs.openbsd.org>2020-01-18 08:59:49 +0000
committerVisa Hankala <visa@cvs.openbsd.org>2020-01-18 08:59:49 +0000
commit3ae52892a0ab185df32c7ea54238feffa26b7fc2 (patch)
tree688697143928e6705a051867b7dd5d1be6432deb /usr.bin/ipcrm
parent75e6236e2d75f997431f722835234cc7a730d1c0 (diff)
Make klist_invalidate() more careful and general. Acquire knotes before
changing them, to synchronize with kqueue_register() and kqueue_scan(). Detach the knotes from the original knote list, change the filterops to one that always indicates EOF condition, and activate in one-shot mode. The detaching allows the original knote list head to be deleted after klist_invalidate() returns. The knotes are activated to make the EOF condition visible to the event subscribers as soon as possible. As the knotes are detached from the list, klist_invalidate() does not have to wait for userspace to process them. The use of the special filterops minimizes the need to handle klist invalidation in actual implementations of filterops. Tested by Greg Steuck OK mpi@
Diffstat (limited to 'usr.bin/ipcrm')
0 files changed, 0 insertions, 0 deletions