Bug 1301383 - Memoize does not work under threaded perl in windows: "Anonymous…

Bug 1301383 - Memoize does not work under threaded perl in windows: "Anonymous function called in forbidden scalar context"
parent fab635c6
...@@ -15,7 +15,6 @@ use parent qw(Exporter); ...@@ -15,7 +15,6 @@ use parent qw(Exporter);
# For bz_locations # For bz_locations
use File::Basename; use File::Basename;
use Memoize;
@Bugzilla::Constants::EXPORT = qw( @Bugzilla::Constants::EXPORT = qw(
BUGZILLA_VERSION BUGZILLA_VERSION
...@@ -641,9 +640,13 @@ use constant EMAIL_LIMIT_EXCEPTION => "email_limit_exceeded\n"; ...@@ -641,9 +640,13 @@ use constant EMAIL_LIMIT_EXCEPTION => "email_limit_exceeded\n";
use constant JOB_QUEUE_VIEW_MAX_JOBS => 500; use constant JOB_QUEUE_VIEW_MAX_JOBS => 500;
sub bz_locations { 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. # 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 { sub _bz_locations {
...@@ -704,10 +707,6 @@ 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; 1;
=head1 B<Methods in need of POD> =head1 B<Methods in need of POD>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment