From 52c12f7fa9cbb3ad316b0c26fd0877a447d4542e Mon Sep 17 00:00:00 2001 From: "Kyle J. McKay" Date: Wed, 23 Sep 2015 15:09:10 -0700 Subject: [PATCH] t/misc/die-not-goto: create TopGit-controlled branch --- .topdeps | 1 + .topmsg | 39 ++++++++++++++++++++++++++------------- 2 files changed, 27 insertions(+), 13 deletions(-) rewrite .topmsg (99%) diff --git a/.topdeps b/.topdeps index e69de29bb2..d7025695e2 100644 --- a/.topdeps +++ b/.topdeps @@ -0,0 +1 @@ +release diff --git a/.topmsg b/.topmsg dissimilarity index 99% index 814aa0f018..3f1015d2f3 100644 --- a/.topmsg +++ b/.topmsg @@ -1,13 +1,26 @@ -Subject: [RELEASE] base release branch for girocco - -This represents the base release upon which the current -girocco changes are based. - -Running git describe refs/top-bases/release should always -yield an official signed release tag. - -To update girocco to be based off a new release vX.X.X, -one should run this sequence: - - git update-ref refs/top-bases/release vX.X.X^{commit} - tg update girocco +Subject: [PATCH] gitweb.perl: use die not goto + +Using "goto DONE_GITWEB" instead of throwing an exception +with die causes any optimized CGI processing (mod_perl, +FCGI, PSGI, etc.) to be aborted prematurely. + +This can happen for various reasons that are not fatal, +rather they are simply indicating that all output has +been written for the current request (perhaps an object +wasn't found) and the current request is done. + +These conditions are part of normal CGI processing and +SHOULD NOT abort the script entirely, rather just finish +up the current request. + +What happens when the script is aborted entirely is that +the host process (mod_perl, mod_fcgid, etc.) must detect +the error and then spawn another copy of the script. + +That all takes time and devastates throughput unnecessarily. + +Instead throw an exception using die in these cases and +catch it with eval to indicate that the current request +has ended and the next should begin. + +Signed-off-by: Kyle J. McKay -- 2.11.4.GIT