diff options
author | lpsolit%gmail.com <> | 2005-10-07 05:54:49 +0200 |
---|---|---|
committer | lpsolit%gmail.com <> | 2005-10-07 05:54:49 +0200 |
commit | 518df535b020606f1357e706bbd23f3a43e15f96 (patch) | |
tree | 82801df3e9e6a03058d22d740f53dde507692733 | |
parent | 3c457877d82dd27ab2090e04e12c4a10031f3bf0 (diff) | |
download | bugzilla-518df535b020606f1357e706bbd23f3a43e15f96.tar.gz bugzilla-518df535b020606f1357e706bbd23f3a43e15f96.tar.xz |
Bug 309796: Whining needs to check for shutdown (silently) before trying database access - Patch by Frédéric Buclin <LpSolit@gmail.com> r=joel a=justdave
-rw-r--r-- | Bugzilla.pm | 14 | ||||
-rwxr-xr-x | whine.pl | 6 |
2 files changed, 14 insertions, 6 deletions
diff --git a/Bugzilla.pm b/Bugzilla.pm index 99e5c3add..71e29a222 100644 --- a/Bugzilla.pm +++ b/Bugzilla.pm @@ -49,6 +49,11 @@ use constant SHUTDOWNHTML_EXEMPT => [ 'checksetup.pl', ]; +# Non-cgi scripts that should silently exit. +use constant SHUTDOWNHTML_EXIT_SILENTLY => [ + 'whine.pl' +]; + ##################################################################### # Global Code ##################################################################### @@ -62,6 +67,15 @@ use constant SHUTDOWNHTML_EXEMPT => [ if (Param("shutdownhtml") && lsearch(SHUTDOWNHTML_EXEMPT, basename($0)) == -1) { + # Allow non-cgi scripts to exit silently (without displaying any + # message), if desired. At this point, no DBI call has been made + # yet, and no error will be returned if the DB is inaccessible. + if (lsearch(SHUTDOWNHTML_EXIT_SILENTLY, basename($0)) > -1 + && !i_am_cgi()) + { + exit; + } + # For security reasons, log out users when Bugzilla is down. # Bugzilla->login() is required to catch the logincookie, if any. my $user = Bugzilla->login(LOGIN_OPTIONAL); @@ -93,12 +93,6 @@ my $sth_schedules_by_event = $dbh->prepare( # After that, it looks over each user to see if they have schedules that need # running, then runs those and generates the email messages. -# exit quietly if the system is shut down -if (Param('shutdownhtml')) { - exit; -} - - # Send whines from the address in the 'maintainer' Parameter so that all # Bugzilla-originated mail appears to come from a single address. my $fromaddress = Param('maintainer'); |