[Lldb-commits] [lldb] 120d747 - [lldb] Change directory creation logic in framework-header-fix (#158355)

via lldb-commits lldb-commits at lists.llvm.org
Fri Sep 12 16:38:32 PDT 2025


Author: Alex Langford
Date: 2025-09-12T16:38:29-07:00
New Revision: 120d7475d35fc16b25c9d7c9b05e0ba44cca6449

URL: https://github.com/llvm/llvm-project/commit/120d7475d35fc16b25c9d7c9b05e0ba44cca6449
DIFF: https://github.com/llvm/llvm-project/commit/120d7475d35fc16b25c9d7c9b05e0ba44cca6449.diff

LOG: [lldb] Change directory creation logic in framework-header-fix (#158355)

It's possible for this logic to fail if the build system runs this
script in parallel. One instance could create the directory in between
another instance's checking of its existence and attempt at creation.

Instead, always try to create it and ignore any FileExistsErrors.

rdar://160120161

Added: 
    

Modified: 
    lldb/scripts/framework-header-fix.py

Removed: 
    


################################################################################
diff  --git a/lldb/scripts/framework-header-fix.py b/lldb/scripts/framework-header-fix.py
index 36c5c67c59d36..3447dfc29a761 100755
--- a/lldb/scripts/framework-header-fix.py
+++ b/lldb/scripts/framework-header-fix.py
@@ -115,8 +115,10 @@ def main():
         unifdef_guards = ["-U" + guard for guard in args.unifdef_guards]
 
     # Create the framework's header dir if it doesn't already exist
-    if not os.path.exists(os.path.dirname(output_file_path)):
+    try:
         os.makedirs(os.path.dirname(output_file_path))
+    except FileExistsError:
+        pass
 
     if framework_version == "lldb_main":
         modify_main_includes(input_file_path, output_file_path)


        


More information about the lldb-commits mailing list