summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Narebski <jnareb@gmail.com>2010-04-24 13:56:13 (GMT)
committerJunio C Hamano <gitster@pobox.com>2010-05-01 19:09:51 (GMT)
commitc42b00c8f2b8c04ff9829e88dcde92d7294cd460 (patch)
tree73f325b8035901ae2d1df688672209048a4a4257
parent377bee3424ba871278d230ed296f74ccac8ad607 (diff)
downloadgit-c42b00c8f2b8c04ff9829e88dcde92d7294cd460.zip
git-c42b00c8f2b8c04ff9829e88dcde92d7294cd460.tar.gz
git-c42b00c8f2b8c04ff9829e88dcde92d7294cd460.tar.bz2
gitweb: Use nonlocal jump instead of 'exit' in die_error
Use 'goto DONE' in place of 'exit' to end request processing in die_error() subroutine. While at it, do not end gitweb with 'exit'. This would make it easier in the future to add support or improve support for persistent environments such as FastCGI and mod_perl. It would also make it easier to make use of die_error() as an error handler (for fatalsToBrowser). Perl 5 allows non-local jumps; the restriction is that you cannot jump into a scope. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Acked-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xgitweb/gitweb.perl5
1 files changed, 3 insertions, 2 deletions
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index 6cefb09..ed92dca 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -972,7 +972,8 @@ if ($action !~ m/^(?:opml|project_list|project_index)$/ &&
die_error(400, "Project needed");
}
$actions{$action}->();
-exit;
+DONE_GITWEB:
+1;
## ======================================================================
## action links
@@ -3432,7 +3433,7 @@ EOF
print "</div>\n";
git_footer_html();
- exit;
+ goto DONE_GITWEB;
}
## ----------------------------------------------------------------------