X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FLEI.pm;h=0cbf342cd52583eab8f6fda6fa2b83160cea9a38;hb=2e755e0b5e3bc25b06055dce53009bfba4c0504b;hp=f8b8cd4a0f62b962bc8f687f38ccb9a5d5a041a3;hpb=a1e00c6bca403ffea74a5e169fa0d2f715c69051;p=public-inbox.git diff --git a/lib/PublicInbox/LEI.pm b/lib/PublicInbox/LEI.pm index f8b8cd4a..0cbf342c 100644 --- a/lib/PublicInbox/LEI.pm +++ b/lib/PublicInbox/LEI.pm @@ -240,15 +240,12 @@ my %CONFIG_KEYS = ( sub x_it ($$) { # pronounced "exit" my ($self, $code) = @_; $self->{1}->autoflush(1); # make sure client sees stdout before exit - if (my $sig = ($code & 127)) { - kill($sig, $self->{pid} // $$); - } else { - $code >>= 8; - if (my $sock = $self->{sock}) { - say $sock "exit=$code"; - } else { # for oneshot - $quit->($code); - } + my $sig = ($code & 127); + $code >>= 8 unless $sig; + if (my $sock = $self->{sock}) { + say $sock "exit=$code"; + } else { # for oneshot + $quit->($code); } } @@ -675,13 +672,12 @@ sub accept_dispatch { # Listener {post_accept} callback say $sock "request command truncated"; return; } - my ($client_pid, $argc, @argv) = split(/\0/, $buf, -1); + my ($argc, @argv) = split(/\0/, $buf, -1); undef $buf; my %env = map { split(/=/, $_, 2) } splice(@argv, $argc); if (chdir($env{PWD})) { local %ENV = %env; $self->{env} = \%env; - $self->{pid} = $client_pid + 0; eval { dispatch($self, @argv) }; say $sock $@ if $@; } else {