Not *entirely* sure why this is the case, but it appears through some
refcounting weirdness, just setting the mmap variables to None in
index.Readers doesn't cause the mmap to be freed under Cygwin, though
I can't find any reason why this would be the case.
Naturally, this caused all sort of pain when we attempt to unlink
an mmaped file created while running bup index --check -u.
Fix the issue by explicitly .close()ing the mmap in Reader.close().
def close(self):
self.save()
if self.writable and self.m:
+ self.m.close()
self.m = None
self.writable = False