]> git.ipfire.org Git - thirdparty/public-inbox.git/commit
lei: ensure we run DESTROY|END at daemon exit w/ kqueue
authorEric Wong <e@80x24.org>
Fri, 15 Sep 2023 10:11:57 +0000 (10:11 +0000)
committerEric Wong <e@80x24.org>
Fri, 15 Sep 2023 17:02:41 +0000 (17:02 +0000)
commite281363ba93763a7bc4be41ad814cd972d1775f9
treee8d4b4d21929721747d6ed8718f57741fe294ebe
parent759885e60e59b5cdcb13c0174e6f6b4a147787f9
lei: ensure we run DESTROY|END at daemon exit w/ kqueue

The fundamental difference which I originally missed when
implementing kqueue EVFILT_SIGNAL support is that it does not
consume signals like signalfd(2) does.  In other words, with
EVFILT_SIGNAL, it's possible for a single signal to be delivered
twice if we unblock signals upon leaving the event loop as we do
in lei.

Note: Our DS->event_loop and Sigfd APIs can/should probably be
changed to better accomodate EVFILT_SIGNAL differences from
signalfd without sacrificing usability of either.

This fixes the problem of leftover lei-ovv.dst*, lei_cfg-* and
skv.* files in $TMPDIR at the end of test suite runs on *BSD
when IO::KQueue is installed.
lib/PublicInbox/LEI.pm