On error (die_error()), instead of ending gitweb process by non-local jump to DONE_GITWEB label at the end of requests loop in run() subroutine, just end current request by jumping to DONE_REQUESt at the end of run_request() subroutine. This change should improve truly persistent deployment methods, currently only FastCGI but in the future also PSGI, as an error page would no longer require reloading whole persistent environment, just end request. This would allow to create new deployment mechanisms (for example PSGI) based on run_request() and not on run(). Note that DONE_REQUEST label is removed because it is no longer used, and it wouldn't work correctly for PSGI anyway. Signed-off-by: Jakub Narebski <jnareb@xxxxxxxxx> --- Without this we could not write to_psgi_app() in patch 3/5. This patch has its value independently on PSGI support, though if it is to be accepted standalone, the commit message would have to be slighlty edited, so that the last two paragraphs of it read: "This would allow to create new deployment mechanisms based on run_request() and not on run(). DONE_REQUEST label is removed because it is no longer used." gitweb/gitweb.perl | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-) diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index e2e6a73..2cca2cd 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -1195,6 +1195,10 @@ sub run_request { configure_gitweb_features(); dispatch(); + + + DONE_REQUEST: + 1; } our $is_last_request = sub { 1 }; @@ -1252,9 +1256,6 @@ sub run { last REQUEST if ($is_last_request->()); } - - DONE_GITWEB: - 1; } run(); @@ -4195,7 +4196,7 @@ EOF print "</div>\n"; git_footer_html(); - goto DONE_GITWEB + goto DONE_REQUEST unless ($opts{'-error_handler'}); } -- 1.7.9 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html