]> arthur.barton.de Git - bup.git/commitdiff
gc: immediately unlink tmp bloom filter file
authorRob Browning <rlb@defaultvalue.org>
Fri, 16 Dec 2016 18:27:27 +0000 (12:27 -0600)
committerRob Browning <rlb@defaultvalue.org>
Sat, 17 Dec 2016 17:00:27 +0000 (11:00 -0600)
...to make sure the bloom filter is always cleaned up on exit.

Signed-off-by: Rob Browning <rlb@defaultvalue.org>
Tested-by: Rob Browning <rlb@defaultvalue.org>
lib/bup/gc.py

index 28ffac6200028b6a96f9f2e0648528a9798d0dab..446092f9cd70aef8912ef12279a4194f491795dd 100644 (file)
@@ -94,6 +94,8 @@ def find_live_objects(existing_count, cat_pipe, verbosity=0):
     # FIXME: allow selection of k?
     # FIXME: support ephemeral bloom filters (i.e. *never* written to disk)
     live_objs = bloom.create(bloom_filename, expected=existing_count, k=None)
+    # live_objs will hold on to the fd until close or exit
+    os.unlink(bloom_filename)
     stop_at, trees_visited = None, None
     if prune_visited_trees:
         trees_visited = set()
@@ -238,4 +240,3 @@ def bup_gc(threshold=10, compression=1, verbosity=0):
                   verbosity)
         finally:
             live_objects.close()
-            os.unlink(live_objects.name)