summaryrefslogtreecommitdiffstats
path: root/Bugzilla.pm
diff options
context:
space:
mode:
authorDylan Hardison <dylan@mozilla.com>2016-03-21 22:12:55 +0100
committerDylan Hardison <dylan@mozilla.com>2016-03-21 22:13:31 +0100
commitda0347e9af601ec04d8f5095775ab538bd2ead6b (patch)
treeada816b4c5e3a6e044a06d300808abe2f3dd6982 /Bugzilla.pm
parent0cac98dfb514063de4201cd0037c465922cbef48 (diff)
downloadbugzilla-da0347e9af601ec04d8f5095775ab538bd2ead6b.tar.gz
bugzilla-da0347e9af601ec04d8f5095775ab538bd2ead6b.tar.xz
Bug 1251208 - Bugzilla->request_cache() can be faster
r=dkl,a=dylan without breaking stuff this time.
Diffstat (limited to 'Bugzilla.pm')
-rw-r--r--Bugzilla.pm34
1 files changed, 6 insertions, 28 deletions
diff --git a/Bugzilla.pm b/Bugzilla.pm
index 8bea97b39..fba6d2a04 100644
--- a/Bugzilla.pm
+++ b/Bugzilla.pm
@@ -682,43 +682,21 @@ sub local_timezone {
||= DateTime::TimeZone->new(name => 'local');
}
-# This creates the request cache for non-mod_perl installations.
-# This is identical to Install::Util::_cache so that things loaded
-# into Install::Util::_cache during installation can be read out
-# of request_cache later in installation.
-our $_request_cache = $Bugzilla::Install::Util::_cache;
-
-sub request_cache {
- if ($ENV{MOD_PERL}) {
- require Apache2::RequestUtil;
- # Sometimes (for example, during mod_perl.pl), the request
- # object isn't available, and we should use $_request_cache instead.
- my $request = eval { Apache2::RequestUtil->request };
- return $_request_cache if !$request;
- return $request->pnotes();
- }
- return $_request_cache;
-}
+my $request_cache = Bugzilla::Install::Util::_cache();
+
+sub request_cache { return $request_cache }
sub clear_request_cache {
- $_request_cache = {};
- if ($ENV{MOD_PERL}) {
- require Apache2::RequestUtil;
- my $request = eval { Apache2::RequestUtil->request };
- if ($request) {
- my $pnotes = $request->pnotes;
- delete @$pnotes{(keys %$pnotes)};
- }
- }
+ %$request_cache = ();
}
# This is a per-process cache. Under mod_cgi it's identical to the
# request_cache. When using mod_perl, items in this cache live until the
# worker process is terminated.
-our $_process_cache = {};
+my $process_cache = {};
sub process_cache {
- return $_process_cache;
+ return $process_cache;
}
# This is a memcached wrapper, which provides cross-process and cross-system