]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/Qspawn.pm
qspawn: fix process finalization for generic PSGI server
[public-inbox.git] / lib / PublicInbox / Qspawn.pm
index 9ca6b3dbbcc98c6a761e34fe4cc7e94f4a94ccd4..297a284fd4c47deb224f9f7bbc01640fc9d91c31 100644 (file)
@@ -233,9 +233,10 @@ sub psgi_return_init_cb {
        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)