$self->{pkt_op_p}->pkt_do('x_it', $code);
} elsif ($self->{sock}) { # to lei(1) client
send($self->{sock}, "x_it $code", MSG_EOR);
+ } elsif ($quit == \&CORE::exit) { # an admin command
+ exit($code >> 8);
} # else ignore if client disconnected
}
my ($self, $buf, $exit_code) = @_;
$self->{failed}++;
err($self, $buf) if defined $buf;
- # calls fail_handler:
+ # calls fail_handler
$self->{pkt_op_p}->pkt_do('!') if $self->{pkt_op_p};
x_it($self, ($exit_code // 1) << 8);
undef;
$self->{pkt_op_p}->pkt_do('child_error', $child_error);
} elsif ($self->{sock}) { # to lei(1) client
send($self->{sock}, "child_error $child_error", MSG_EOR);
+ } else { # non-lei admin command
+ $self->{child_error} ||= $child_error;
} # else noop if client disconnected
}
$cur_st = pack('dd', $st[10], $st[7]);
qerr($self, "# $f created") if $self->{cmd} ne 'config';
}
- my $cfg = PublicInbox::Config->git_config_dump($f);
+ my $cfg = PublicInbox::Config->git_config_dump($f, $self->{2});
$cfg->{-st} = $cur_st;
$cfg->{'-f'} = $f;
if ($sto && canonpath_harder($sto_dir // store_path($self))