1.1 --- a/imiptools/filesys.py Mon Sep 07 18:54:54 2015 +0200
1.2 +++ b/imiptools/filesys.py Mon Sep 07 19:46:39 2015 +0200
1.3 @@ -88,6 +88,7 @@
1.4 if not exists(self.store_dir):
1.5 makedirs(self.store_dir)
1.6 fix_permissions(self.store_dir, True)
1.7 + self.lock_depth = 0
1.8
1.9 def get_file_object(self, base, *parts):
1.10
1.11 @@ -195,6 +196,7 @@
1.12 if exc.errno != errno.EEXIST:
1.13 raise
1.14 elif self.owning_lock_dir(*parts):
1.15 + self.lock_depth += 1
1.16 break
1.17 sleep(1)
1.18 now = time()
1.19 @@ -207,7 +209,10 @@
1.20 """
1.21
1.22 try:
1.23 - self.remove_lock_dir(*parts)
1.24 + if self.lock_depth != 0:
1.25 + self.lock_depth -= 1
1.26 + else:
1.27 + self.remove_lock_dir(*parts)
1.28 except OSError, exc:
1.29 if exc.errno != errno.ENOENT:
1.30 raise