[clang] 7213ae8 - [include-mapping] Python fixes

via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 12 11:24:40 PDT 2023


Author: Cassie Jones
Date: 2023-09-12T11:24:35-07:00
New Revision: 7213ae8423f88a3f74e201f85900aa838a4143e3

URL: https://github.com/llvm/llvm-project/commit/7213ae8423f88a3f74e201f85900aa838a4143e3
DIFF: https://github.com/llvm/llvm-project/commit/7213ae8423f88a3f74e201f85900aa838a4143e3.diff

LOG: [include-mapping] Python fixes

- Move the multiprocessing.Pool initializer to a top-level function, it
  was previously causing a pickle failure with my machine's python.
- Change the `env python` to `env python3` for convenience

Added: 
    

Modified: 
    clang/tools/include-mapping/cppreference_parser.py
    clang/tools/include-mapping/gen_std.py

Removed: 
    


################################################################################
diff  --git a/clang/tools/include-mapping/cppreference_parser.py b/clang/tools/include-mapping/cppreference_parser.py
index cefdbeaf334e1c4..f2ea55384fac80c 100644
--- a/clang/tools/include-mapping/cppreference_parser.py
+++ b/clang/tools/include-mapping/cppreference_parser.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 # ===- cppreference_parser.py -  ------------------------------*- python -*--===#
 #
 # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
@@ -176,6 +176,10 @@ def _GetSymbols(pool, root_dir, index_page_name, namespace, variants_to_accept):
     return symbols
 
 
+def signal_ignore_initializer():
+    return signal.signal(signal.SIGINT, signal.SIG_IGN)
+
+
 def GetSymbols(parse_pages):
     """Get all symbols by parsing the given pages.
 
@@ -192,9 +196,7 @@ def GetSymbols(parse_pages):
     symbols = []
     # Run many workers to process individual symbol pages under the symbol index.
     # Don't allow workers to capture Ctrl-C.
-    pool = multiprocessing.Pool(
-        initializer=lambda: signal.signal(signal.SIGINT, signal.SIG_IGN)
-    )
+    pool = multiprocessing.Pool(initializer=signal_ignore_initializer)
     try:
         for root_dir, page_name, namespace in parse_pages:
             symbols.extend(

diff  --git a/clang/tools/include-mapping/gen_std.py b/clang/tools/include-mapping/gen_std.py
index 57a5a6772ba894a..fcd3bd0d843ea16 100755
--- a/clang/tools/include-mapping/gen_std.py
+++ b/clang/tools/include-mapping/gen_std.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 # ===- gen_std.py -  ------------------------------------------*- python -*--===#
 #
 # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.


        


More information about the cfe-commits mailing list