This may be needed to avoid warnings/errors when operating in single process mode in the future. --- lib/PublicInbox/SharedKV.pm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/lib/PublicInbox/SharedKV.pm b/lib/PublicInbox/SharedKV.pm index 94f2429f..f5d09cc1 100644 --- a/lib/PublicInbox/SharedKV.pm +++ b/lib/PublicInbox/SharedKV.pm @@ -145,8 +145,15 @@ SELECT COUNT(k) FROM kv sub DESTROY { my ($self) = @_; + delete $self->{dbh}; my $dir = delete $self->{"tmp$$.$self"} or return; - rmtree($dir); + my $tries = 0; + do { + $! = 0; + eval { rmtree($dir) }; + } while ($@ && $!{ENOENT} && $tries++ < 5); + warn "error removing $dir: $@" if $@; + warn "Took $tries tries to remove $dir\n" if $tries; } 1; -- unsubscribe: one-click, see List-Unsubscribe header archive: https://public-inbox.org/meta/