]> Sergey Matveev's repositories - public-inbox.git/commitdiff
gcf2: avoid excessive checks for unlinked files
authorEric Wong <e@80x24.org>
Wed, 20 Jul 2022 18:01:28 +0000 (18:01 +0000)
committerEric Wong <e@80x24.org>
Wed, 20 Jul 2022 21:14:22 +0000 (21:14 +0000)
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

index f546208fa4adeab33016619575e16d9e2b4acb47..41ee0715c8560feaf47854488b19fccdb76da13b 100644 (file)
@@ -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;
                } 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;
                                undef $check_at;
-                               $gcf2 = new();
-                               %seen = ();
+                               if (have_unlinked_files()) {
+                                       $gcf2 = new();
+                                       %seen = ();
+                               }
                        }
                }
        }
                        }
                }
        }