소스 검색

init: Do not fail if directory exists (observed in a case of race condition)

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@73519 15284696-431f-4ddb-bdfa-cd5b030d7da7
Maris Nartiss 6 년 전
부모
커밋
f846be7dd0
1개의 변경된 파일8개의 추가작업 그리고 1개의 파일을 삭제
  1. 8 1
      lib/init/grass.py

+ 8 - 1
lib/init/grass.py

@@ -435,7 +435,14 @@ def get_grass_config_dir():
         grass_config_dirname = ".grass7"
         directory = os.path.join(os.getenv('HOME'), grass_config_dirname)
     if not os.path.exists(directory):
-        os.mkdir(directory)
+        try:
+            os.mkdir(directory)
+        except OSError as e:
+            # Can happen as a race condition
+            if not e.errno == 17:
+                fatal(
+                    _("Failed to create configuration directory '%s' with error: %s")
+                    % (directory, e.strerror))
     return directory