From 2e6ebc0c18b5b44be62c0b50e2cc917faf1c49a1 Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Mon, 2 May 2016 12:26:44 +0200 Subject: [PATCH] Bug 16412: Cache undef in L1 only Content-Type: text/plain; charset=utf-8 No need to cache undef in L2. Prevent numerous warnings like: Use of uninitialized value in subroutine entry at /usr/share/koha/masterclone/Koha/Cache.pm line 284 Test plan: Run t/Cache.t Run t/db_dependent/sysprefs.t --- Koha/Cache.pm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Koha/Cache.pm b/Koha/Cache.pm index 7793f06..741be7a 100644 --- a/Koha/Cache.pm +++ b/Koha/Cache.pm @@ -271,10 +271,11 @@ sub set_in_cache { # Deep copy if it's not a scalar and unsafe is not passed $value = dclone( $value ) if ref($value) and not $unsafe; - # Set in L1 cache + # Set in L1 cache; exit if you are caching an undef $L1_cache{ $key } = $value; + return if !defined $value; - # We consider an expiry of 0 to be inifinite + # We consider an expiry of 0 to be infinite if ( $expiry ) { return $set_sub ? $set_sub->( $key, $value, $expiry ) -- 1.7.10.4