From: Junio C Hamano Date: Mon, 14 Jun 2010 05:33:50 GMT Subject: Re: [PATCH] gitweb: Return or exit after done serving request Message-ID: <7v1vcach4x.fsf@alter.siamese.dyndns.org> In-Reply-To: <20100613100800.28221.77529.stgit@localhost.localdomain> Jakub Narebski writes: > diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl > index e108bbc..02f366d 100755 > --- a/gitweb/gitweb.perl > +++ b/gitweb/gitweb.perl > @@ -987,7 +987,16 @@ if ($action !~ m/^(?:opml|project_list|project_index)$/ && > die_error(400, "Project needed"); > } > $actions{$action}->(); > + > DONE_GITWEB: > +if (defined caller) { > + # wrapped in a subroutine processing requests, > + # e.g. mod_perl with ModPerl::Registry, or PSGI with Plack::App::WrapCGI > + return; > +} else { > + # pure CGI script, serving single request > + exit; > +} > 1; Is the last "1;" still needed if we did this? I am guessing that this new codeblock will go inside "sub run" when merging with your c2394fe (gitweb: Put all per-connection code in run() subroutine, 2010-05-07) and Sam's a0446e7 (gitweb: Add support for FastCGI, using CGI::Fast, 2010-05-07). If I am mistaken, please advise. Thanks.