We were misusing the timer and not expiring it before checking
for unlinked files.  Now, we check for unlinked files every 60s,
instead.
---
 lib/PublicInbox/Gcf2.pm | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/lib/PublicInbox/Gcf2.pm b/lib/PublicInbox/Gcf2.pm
index f546208f..41ee0715 100644
--- a/lib/PublicInbox/Gcf2.pm
+++ b/lib/PublicInbox/Gcf2.pm
@@ -138,10 +138,12 @@ sub loop (;$) {
                } else { # check expiry to deal with deleted pack files
                        my $now = clock_gettime(CLOCK_MONOTONIC);
                        $check_at //= $now + $exp;
-                       if ($now > $check_at && have_unlinked_files()) {
+                       if ($now > $check_at) {
                                undef $check_at;
-                               $gcf2 = new();
-                               %seen = ();
+                               if (have_unlinked_files()) {
+                                       $gcf2 = new();
+                                       %seen = ();
+                               }
                        }
                }
        }

Reply via email to