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 = ();
+ }
}
}
}