From ed646e22f30102c89fa481aa0d64629e4ccb33ac Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 3 Oct 2023 06:43:49 +0000 Subject: [PATCH] lei: workers exit after they tell lei-daemon We don't want workers continuing after their stdout has triggered EPIPE or some other write error. This fixes xt/lei-onion-convert.t to ensure the quit_waiter_pipe is fully-closed at daemon teardown during tests. Using the `exit' perlop still ensures OnDestroy callbacks will fire. --- lib/PublicInbox/LEI.pm | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/PublicInbox/LEI.pm b/lib/PublicInbox/LEI.pm index 817772f75..10c08b905 100644 --- a/lib/PublicInbox/LEI.pm +++ b/lib/PublicInbox/LEI.pm @@ -485,6 +485,7 @@ sub x_it ($$) { stop_pager($self); if ($self->{pkt_op_p}) { # worker => lei-daemon $self->{pkt_op_p}->pkt_do('x_it', $code); + exit($code >> 8); } elsif ($self->{sock}) { # lei->daemon => lei(1) client send($self->{sock}, "x_it $code", 0); } elsif ($quit == \&CORE::exit) { # an admin (one-shot) command -- 2.47.3