lib/PublicInbox/Qspawn.pm | 5 +++-- diff --git a/lib/PublicInbox/Qspawn.pm b/lib/PublicInbox/Qspawn.pm index 9ca6b3dbbcc98c6a761e34fe4cc7e94f4a94ccd4..297a284fd4c47deb224f9f7bbc01640fc9d91c31 100644 --- a/lib/PublicInbox/Qspawn.pm +++ b/lib/PublicInbox/Qspawn.pm @@ -233,9 +233,10 @@ my $async = delete $self->{async}; # PublicInbox::HTTPD::Async if (ref($r) ne 'ARRAY' || scalar(@$r) == 3) { # error if ($async) { # calls rpipe->close && ->event_step $async->close; # PublicInbox::HTTPD::Async::close - } else { - $self->{rpipe}->close; + } else { # generic PSGI: + delete($self->{rpipe})->close; event_step($self); + waitpid_err($self); } if (ref($r) eq 'ARRAY') { # error $wcb->($r)