diff options
author | Sean Quah <8349537+squahtx@users.noreply.github.com> | 2021-09-27 11:29:23 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-27 11:29:23 +0100 |
commit | 6c83c2710760a4f551d1a925fc9b1a19ae8797c1 (patch) | |
tree | 0e7fb86a7093700eaa338c7ffeaa1b380d164d92 /synapse/config | |
parent | Document changes to schema version 61 - 64 (#10917) (diff) | |
download | synapse-6c83c2710760a4f551d1a925fc9b1a19ae8797c1.tar.xz |
Fix race conditions when creating media store and config directories (#10913)
Diffstat (limited to 'synapse/config')
-rw-r--r-- | synapse/config/_base.py | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/synapse/config/_base.py b/synapse/config/_base.py index 2cc242782a..d974a1a2a8 100644 --- a/synapse/config/_base.py +++ b/synapse/config/_base.py @@ -200,11 +200,7 @@ class Config: @classmethod def ensure_directory(cls, dir_path): dir_path = cls.abspath(dir_path) - try: - os.makedirs(dir_path) - except OSError as e: - if e.errno != errno.EEXIST: - raise + os.makedirs(dir_path, exist_ok=True) if not os.path.isdir(dir_path): raise ConfigError("%s is not a directory" % (dir_path,)) return dir_path @@ -693,8 +689,7 @@ class RootConfig: open_private_ports=config_args.open_private_ports, ) - if not path_exists(config_dir_path): - os.makedirs(config_dir_path) + os.makedirs(config_dir_path, exist_ok=True) with open(config_path, "w") as config_file: config_file.write(config_str) config_file.write("\n\n# vim:ft=yaml") |