Skip to content

Commit 8f7bfd9

Browse files
committed
FIX: Give Windows time to decide files are closed
1 parent b669f29 commit 8f7bfd9

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

nibabel/tmpdirs.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
'''
1111
from __future__ import division, print_function, absolute_import
1212
import os
13+
import time
1314
import shutil
1415
from tempfile import template, mkdtemp
1516

@@ -41,7 +42,16 @@ def __enter__(self):
4142

4243
def cleanup(self):
4344
if not self._closed:
44-
shutil.rmtree(self.name)
45+
# Account for latency in Windows releasing open files
46+
# for deletion
47+
for i in range(50):
48+
try:
49+
shutil.rmtree(self.name)
50+
break
51+
except (OSError, WindowsError):
52+
if i == 49:
53+
raise
54+
time.sleep(0.1)
4555
self._closed = True
4656

4757
def __exit__(self, exc, value, tb):

0 commit comments

Comments
 (0)