-# Copyright (C) 2015-2020 all contributors <meta@public-inbox.org>
+# Copyright (C) 2015-2021 all contributors <meta@public-inbox.org>
# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
# internal APIs used only for tests
for (my $fd = 0; $fd <= $#io_mode; $fd++) {
my $fh = $fhref->[$fd] or next;
my ($oldfh, $mode) = @{$io_mode[$fd]};
- open my $orig, $mode, $oldfh or die "$$oldfh $mode stash: $!";
+ open my $orig, $mode, $oldfh or die "$oldfh $mode stash: $!";
$orig_io->[$fd] = $orig;
- open $oldfh, $mode, $fh or die "$$oldfh $mode redirect: $!";
+ open $oldfh, $mode, $fh or die "$oldfh $mode redirect: $!";
}
$orig_io;
}
my $cmd = [ key2script($key), @argv ];
my $pid = PublicInbox::Spawn::spawn($cmd, $env, $spawn_opt);
if (defined $pid) {
- my $r = waitpid($pid, 0);
- defined($r) or die "waitpid: $!";
+ my $r = waitpid($pid, 0) // die "waitpid: $!";
$r == $pid or die "waitpid: expected $pid, got $r";
}
} else { # localize and run everything in the same process:
}
}
if (@paths) {
- defined($tail_pid = fork) or die "fork: $!\n";
+ $tail_pid = fork // die "fork: $!";
if ($tail_pid == 0) {
# make sure files exist, first
open my $fh, '>>', $_ for @paths;
wait_for_tail($tail_pid, scalar @paths);
}
}
- defined(my $pid = fork) or die "fork: $!\n";
+ my $pid = fork // die "fork: $!\n";
if ($pid == 0) {
eval { PublicInbox::DS->Reset };
# pretend to be systemd (cf. sd_listen_fds(3))
my ($self, $sig) = @_;
my $pid = delete $self->{pid} or return;
CORE::kill($sig, $pid) if defined $sig;
- my $ret = waitpid($pid, 0);
- defined($ret) or die "waitpid($pid): $!";
+ my $ret = waitpid($pid, 0) // die "waitpid($pid): $!";
$ret == $pid or die "waitpid($pid) != $ret";
}