summaryrefslogtreecommitdiffstats
path: root/Bugzilla/Template.pm
diff options
context:
space:
mode:
authorByron Jones <bjones@mozilla.com>2012-10-04 18:49:53 +0200
committerByron Jones <bjones@mozilla.com>2012-10-04 18:49:53 +0200
commitf7d1f7b803a9e89be4407d102a48eddd1708e103 (patch)
tree80424188c2e3e1e735c125046cfceca53d9d1016 /Bugzilla/Template.pm
parentc204c9ebc89dd923378257730309ff4a9722b684 (diff)
downloadbugzilla-f7d1f7b803a9e89be4407d102a48eddd1708e103.tar.gz
bugzilla-f7d1f7b803a9e89be4407d102a48eddd1708e103.tar.xz
Bug 797883: Adds a Bugzilla->process_cache
r=LpSolit, a=LpSolit
Diffstat (limited to 'Bugzilla/Template.pm')
-rw-r--r--Bugzilla/Template.pm13
1 files changed, 6 insertions, 7 deletions
diff --git a/Bugzilla/Template.pm b/Bugzilla/Template.pm
index 6685a7431..f6796dfc7 100644
--- a/Bugzilla/Template.pm
+++ b/Bugzilla/Template.pm
@@ -41,10 +41,6 @@ use constant FORMAT_3_SIZE => [19,28,28];
use constant FORMAT_DOUBLE => '%19s %-55s';
use constant FORMAT_2_SIZE => [19,55];
-# Use a per-process provider to cache compiled templates in memory across
-# requests.
-our %shared_providers;
-
# Pseudo-constant.
sub SAFE_URL_REGEXP {
my $safe_protocols = join('|', SAFE_PROTOCOLS);
@@ -982,9 +978,12 @@ sub create {
'default_authorizer' => new Bugzilla::Auth(),
},
};
+ # Use a per-process provider to cache compiled templates in memory across
+ # requests.
my $provider_key = join(':', @{ $config->{INCLUDE_PATH} });
- $shared_providers{$provider_key} ||= Template::Provider->new($config);
- $config->{LOAD_TEMPLATES} = [ $shared_providers{$provider_key} ];
+ my $shared_providers = Bugzilla->process_cache->{shared_providers} ||= {};
+ $shared_providers->{$provider_key} ||= Template::Provider->new($config);
+ $config->{LOAD_TEMPLATES} = [ $shared_providers->{$provider_key} ];
local $Template::Config::CONTEXT = 'Bugzilla::Template::Context';
@@ -1051,7 +1050,7 @@ sub precompile_templates {
}
# Clear out the cached Provider object
- undef %shared_providers;
+ Bugzilla->process_cache->{shared_providers} = undef;
}
# Under mod_perl, we look for templates using the absolute path of the