{quiet} is nice for quieting normal/expected errors (e.g `git diff'),
but we still want to show the command in case there's errors in
our own code.
- $self->{cmd} = $o{quiet} ? undef : $cmd;
+ $self->{cmd} = $cmd;
+ $self->{-quiet} = 1 if $o{quiet};
$o{cb_arg} = [ \&waitpid_err, $self ];
eval {
# popen_rd may die on EMFILE, ENFILE
$o{cb_arg} = [ \&waitpid_err, $self ];
eval {
# popen_rd may die on EMFILE, ENFILE
if (my $dst = $self->{qsp_err}) {
$$dst .= $$dst ? " $err" : "; $err";
}
if (my $dst = $self->{qsp_err}) {
$$dst .= $$dst ? " $err" : "; $err";
}
- warn "@{$self->{cmd}}: $err" if $self->{cmd};
+ warn "@{$self->{cmd}}: $err" if !$self->{-quiet};
}
my ($env, $qx_cb, $qx_arg, $qx_buf) =
}
my ($env, $qx_cb, $qx_arg, $qx_buf) =
warn "parse_hdr: $@";
$ret = [ 500, [], [ "Internal error\n" ] ];
} elsif (!defined($ret) && !$r) {
warn "parse_hdr: $@";
$ret = [ 500, [], [ "Internal error\n" ] ];
} elsif (!defined($ret) && !$r) {
- my $cmd = $self->{cmd} // [ '(?)' ];
-EOF parsing headers from @$cmd ($self->{psgi_env}->{REQUEST_URI})
+EOF parsing headers from @{$self->{cmd}} ($self->{psgi_env}->{REQUEST_URI})
EOM
$ret = [ 500, [], [ "Internal error\n" ] ];
}
EOM
$ret = [ 500, [], [ "Internal error\n" ] ];
}