OSError is the exception raised when one tries to create a directory that

already exists, not IOError.

Part of the continuing saga of issue #9572.
This commit is contained in:
Brett Cannon 2010-08-26 21:07:13 +00:00
parent 816756182e
commit a7ceeb335f
1 changed files with 5 additions and 2 deletions

View File

@ -493,13 +493,16 @@ class _SourceFileLoader(_FileLoader, SourceLoader):
parent = _path_join(parent, part) parent = _path_join(parent, part)
try: try:
_os.mkdir(parent) _os.mkdir(parent)
except IOError as exc: except OSError as exc:
# Probably another Python process already created the dir. # Probably another Python process already created the dir.
if exc.errno == errno.EEXIST: if exc.errno == errno.EEXIST:
continue continue
else:
raise
except IOError as exc:
# If can't get proper access, then just forget about writing # If can't get proper access, then just forget about writing
# the data. # the data.
elif exc.errno == errno.EACCES: if exc.errno == errno.EACCES:
return return
else: else:
raise raise