prevents race condition in multiprocessing setting

This commit is contained in:
John Schulman
2016-10-20 11:40:20 -07:00
parent 50be1426be
commit 3546f06bc3

View File

@@ -118,6 +118,9 @@ class Monitor(object):
if not os.path.exists(directory): if not os.path.exists(directory):
logger.info('Creating monitor directory %s', directory) logger.info('Creating monitor directory %s', directory)
if six.PY3:
os.makedirs(directory, exist_ok=True)
else:
os.makedirs(directory) os.makedirs(directory)
if video_callable is None: if video_callable is None:
@@ -150,6 +153,9 @@ class Monitor(object):
self.stats_recorder = stats_recorder.StatsRecorder(directory, '{}.episode_batch.{}'.format(self.file_prefix, self.file_infix)) self.stats_recorder = stats_recorder.StatsRecorder(directory, '{}.episode_batch.{}'.format(self.file_prefix, self.file_infix))
self.configure(video_callable=video_callable) self.configure(video_callable=video_callable)
if not os.path.exists(directory): if not os.path.exists(directory):
if six.PY3:
os.mkdir(directory, exist_ok=True)
else:
os.mkdir(directory) os.mkdir(directory)
self.write_upon_reset = write_upon_reset self.write_upon_reset = write_upon_reset