From: Eric Wong Date: Sun, 1 Oct 2023 09:54:23 +0000 (+0000) Subject: lei: correct exit signal X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=27e5783fedcde41cd8831399cf0c089ab37bb4ee;p=thirdparty%2Fpublic-inbox.git lei: correct exit signal The first argument passed to Perl signal handlers is a signal name (e.g. "TERM") and not an integer that can be passed to the `exit' perlop. Thus we must look up the integer value from the POSIX module. --- diff --git a/lib/PublicInbox/LEI.pm b/lib/PublicInbox/LEI.pm index 48c5644b1..1b14d5e12 100644 --- a/lib/PublicInbox/LEI.pm +++ b/lib/PublicInbox/LEI.pm @@ -1310,9 +1310,9 @@ sub lazy_start { local $quit = do { my (undef, $eof_p) = PublicInbox::PktOp->pair; sub { - $exit_code //= shift; + $exit_code //= eval("POSIX::SIG$_[0] + 128") if @_; eval 'PublicInbox::LeiNoteEvent::flush_task()'; - my $lis = $pil or exit($exit_code); + my $lis = $pil or exit($exit_code // 0); # closing eof_p triggers \&noop wakeup $listener = $eof_p = $pil = $path = undef; $lis->close; # DS::close