Commit 51f6d006 by willmcgugan

Added a thread lock to makedir

parent 1fd5453a
...@@ -172,12 +172,16 @@ class ZipFS(FS): ...@@ -172,12 +172,16 @@ class ZipFS(FS):
return self._path_fs.exists(path) return self._path_fs.exists(path)
def makedir(self, dirname, mode=0777, recursive=False, allow_recreate=False): def makedir(self, dirname, mode=0777, recursive=False, allow_recreate=False):
dirname = normpath(dirname) self._lock.acquire()
if self.zip_mode not in "wa": try:
raise OperationFailedError("MAKEDIR_FAILED", dirname, "Zip file must be opened for writing ('w') or appending ('a')") dirname = normpath(dirname)
if not dirname.endswith('/'): if self.zip_mode not in "wa":
dirname += '/' raise OperationFailedError("MAKEDIR_FAILED", dirname, "Zip file must be opened for writing ('w') or appending ('a')")
self._add_resource(dirname) if not dirname.endswith('/'):
dirname += '/'
self._add_resource(dirname)
finally:
self._lock.release()
def listdir(self, path="/", wildcard=None, full=False, absolute=False, hidden=False, dirs_only=False, files_only=False): def listdir(self, path="/", wildcard=None, full=False, absolute=False, hidden=False, dirs_only=False, files_only=False):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment