summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Bugzilla/Constants.pm13
1 files changed, 6 insertions, 7 deletions
diff --git a/Bugzilla/Constants.pm b/Bugzilla/Constants.pm
index 2e3f339a7..7a48995da 100644
--- a/Bugzilla/Constants.pm
+++ b/Bugzilla/Constants.pm
@@ -15,7 +15,6 @@ use parent qw(Exporter);
# For bz_locations
use File::Basename;
-use Memoize;
@Bugzilla::Constants::EXPORT = qw(
BUGZILLA_VERSION
@@ -641,9 +640,13 @@ use constant EMAIL_LIMIT_EXCEPTION => "email_limit_exceeded\n";
use constant JOB_QUEUE_VIEW_MAX_JOBS => 500;
sub bz_locations {
- # Force memoize() to re-compute data per project, to avoid
+ # Force $memoize to re-compute data per project, to avoid
# sharing the same data across different installations.
- return _bz_locations($ENV{'PROJECT'});
+ state $memoize = {};
+ my $project = $ENV{PROJECT};
+ my $key = $project // '__DEFAULT';
+
+ return $memoize->{$key} //= _bz_locations($project);
}
sub _bz_locations {
@@ -704,10 +707,6 @@ sub _bz_locations {
};
}
-# This makes us not re-compute all the bz_locations data every time it's
-# called.
-BEGIN { memoize('_bz_locations') };
-
1;
=head1 B<Methods in need of POD>