lawrence_danna created this revision. lawrence_danna added reviewers: ldionne, chandlerc, jasonmolenda, JDevlieghere. Herald added subscribers: cfe-commits, dexonsmith, whisperity. Herald added a project: clang. lawrence_danna requested review of this revision.
Recent versions of python3's multiprocessing module will blow up with a Runtime error from this code, saying: An attempt has been made to start a new process before the current process has finished its bootstrapping phase This is becuae the wrappers in bin/ are not using the __name__ "__main__" idiom correctly. --------------------------- Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D87051 Files: clang/tools/scan-build-py/bin/analyze-build clang/tools/scan-build-py/bin/intercept-build clang/tools/scan-build-py/bin/scan-build Index: clang/tools/scan-build-py/bin/scan-build =================================================================== --- clang/tools/scan-build-py/bin/scan-build +++ clang/tools/scan-build-py/bin/scan-build @@ -5,12 +5,13 @@ # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception import multiprocessing -multiprocessing.freeze_support() - import sys import os.path this_dir = os.path.dirname(os.path.realpath(__file__)) sys.path.append(os.path.dirname(this_dir)) from libscanbuild.analyze import scan_build -sys.exit(scan_build()) + +if __name__ == '__main__': + multiprocessing.freeze_support() + sys.exit(scan_build()) Index: clang/tools/scan-build-py/bin/intercept-build =================================================================== --- clang/tools/scan-build-py/bin/intercept-build +++ clang/tools/scan-build-py/bin/intercept-build @@ -5,12 +5,13 @@ # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception import multiprocessing -multiprocessing.freeze_support() - import sys import os.path this_dir = os.path.dirname(os.path.realpath(__file__)) sys.path.append(os.path.dirname(this_dir)) from libscanbuild.intercept import intercept_build -sys.exit(intercept_build()) + +if __name__ == '__main__': + multiprocessing.freeze_support() + sys.exit(intercept_build()) Index: clang/tools/scan-build-py/bin/analyze-build =================================================================== --- clang/tools/scan-build-py/bin/analyze-build +++ clang/tools/scan-build-py/bin/analyze-build @@ -5,12 +5,13 @@ # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception import multiprocessing -multiprocessing.freeze_support() - import sys import os.path this_dir = os.path.dirname(os.path.realpath(__file__)) sys.path.append(os.path.dirname(this_dir)) from libscanbuild.analyze import analyze_build -sys.exit(analyze_build()) + +if __name__ == '__main__': + multiprocessing.freeze_support() + sys.exit(analyze_build())
Index: clang/tools/scan-build-py/bin/scan-build =================================================================== --- clang/tools/scan-build-py/bin/scan-build +++ clang/tools/scan-build-py/bin/scan-build @@ -5,12 +5,13 @@ # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception import multiprocessing -multiprocessing.freeze_support() - import sys import os.path this_dir = os.path.dirname(os.path.realpath(__file__)) sys.path.append(os.path.dirname(this_dir)) from libscanbuild.analyze import scan_build -sys.exit(scan_build()) + +if __name__ == '__main__': + multiprocessing.freeze_support() + sys.exit(scan_build()) Index: clang/tools/scan-build-py/bin/intercept-build =================================================================== --- clang/tools/scan-build-py/bin/intercept-build +++ clang/tools/scan-build-py/bin/intercept-build @@ -5,12 +5,13 @@ # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception import multiprocessing -multiprocessing.freeze_support() - import sys import os.path this_dir = os.path.dirname(os.path.realpath(__file__)) sys.path.append(os.path.dirname(this_dir)) from libscanbuild.intercept import intercept_build -sys.exit(intercept_build()) + +if __name__ == '__main__': + multiprocessing.freeze_support() + sys.exit(intercept_build()) Index: clang/tools/scan-build-py/bin/analyze-build =================================================================== --- clang/tools/scan-build-py/bin/analyze-build +++ clang/tools/scan-build-py/bin/analyze-build @@ -5,12 +5,13 @@ # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception import multiprocessing -multiprocessing.freeze_support() - import sys import os.path this_dir = os.path.dirname(os.path.realpath(__file__)) sys.path.append(os.path.dirname(this_dir)) from libscanbuild.analyze import analyze_build -sys.exit(analyze_build()) + +if __name__ == '__main__': + multiprocessing.freeze_support() + sys.exit(analyze_build())
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits