LP#1704396: reset the facet alarm timer
authorMike Rylander <mrylander@gmail.com>
Wed, 1 Nov 2017 22:22:21 +0000 (18:22 -0400)
committerChris Sharp <csharp@georgialibraries.org>
Mon, 20 Nov 2017 19:30:58 +0000 (14:30 -0500)
When using alarm() one must reset the timer via alarm(0) or incur the wrath
of the spurious signal.

Conflicts:
Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm

index 670076b..a60b156 100644 (file)
@@ -1409,11 +1409,13 @@ sub retrieve_cached_facets {
 
     eval {
         local $SIG{ALRM} = sub {die};
-        alarm(2); # we'll sleep for as much as 2s
+        alarm(10); # we'll sleep for as much as 10s
         do {
             die if $cache->get_cache($key . '_COMPLETE');
         } while (sleep(0.05));
+        alarm(0);
     };
+    alarm(0);
 
     my $blob = $cache->get_cache($key) || {};