Bug 747393 - Avoid race condition creating directories in JarMaker. r=ted

This commit is contained in:
Mike Hommey 2012-06-14 08:14:53 +02:00
Родитель 1107813621
Коммит 614a99f728
1 изменённых файлов: 8 добавлений и 3 удалений

Просмотреть файл

@ -290,8 +290,9 @@ class JarMaker(object):
jarfilepath = jarfile + '.jar'
try:
os.makedirs(os.path.dirname(jarfilepath))
except OSError:
pass
except OSError, error:
if error.errno != errno.EEXIST:
raise
jf = ZipFile(jarfilepath, 'a', lock = True)
outHelper = self.OutputHelper_jar(jf)
else:
@ -423,7 +424,11 @@ class JarMaker(object):
out = os.path.join(self.basepath, name)
outdir = os.path.dirname(out)
if not os.path.isdir(outdir):
os.makedirs(outdir)
try:
os.makedirs(outdir)
except OSError, error:
if error.errno != errno.EEXIST:
raise
return out
class OutputHelper_symlink(OutputHelper_flat):