# operate in. This can be useful to ensure smaller inboxes can
# be cloned while cloning of large inboxes is maxed out.
#
-# This does not depend on the PublicInbox::DS->EventLoop or any
+# This does not depend on the PublicInbox::DS::event_loop or any
# other external scheduling mechanism, you just need to call
# start() and finish() appropriately. However, public-inbox-httpd
# (which uses PublicInbox::DS) will be able to schedule this
$msg;
}
-sub log_err ($$) {
- my ($env, $msg) = @_;
- $env->{'psgi.errors'}->print($msg, "\n");
-}
-
sub finalize ($$) {
my ($self, $err) = @_;
$self->{err} = $err;
}
if ($env && $self->{cmd}) {
- log_err($env, join(' ', @{$self->{cmd}}) . ": $err");
+ warn join(' ', @{$self->{cmd}}) . ": $err";
}
}
if ($qx_cb) {
# PSGI servers.
sub event_step {
my ($self, $err) = @_; # $err: $!
- log_err($self->{psgi_env}, "psgi_{return,qx} $err") if defined($err);
+ warn "psgi_{return,qx} $err" if defined($err);
finish($self);
my ($fh, $qx_fh) = delete(@$self{qw(fh qx_fh)});
$fh->close if $fh; # async-only (psgi_return)
sub rd_hdr ($) {
my ($self) = @_;
# typically used for reading CGI headers
- # we must loop until EAGAIN for EPOLLET in HTTPD/Async.pm
# We also need to check EINTR for generic PSGI servers.
my $ret;
my $total_rd = 0;
$total_rd += $r;
eval { $ret = $ph_cb->($total_rd, $hdr_buf, $ph_arg) };
if ($@) {
- log_err($self->{psgi_env}, "parse_hdr: $@");
+ warn "parse_hdr: $@";
$ret = [ 500, [], [ "Internal error\n" ] ];
}
} else {
# caller should notify us when it's ready:
return if $! == EAGAIN;
next if $! == EINTR; # immediate retry
- log_err($self->{psgi_env}, "error reading header: $!");
+ warn "error reading header: $!";
$ret = [ 500, [], [ "Internal error\n" ] ];
}
} until (defined $ret);