diff --git a/docs/tools/util.py b/docs/tools/util.py index aad7364594d..5715650cfd1 100644 --- a/docs/tools/util.py +++ b/docs/tools/util.py @@ -2,6 +2,7 @@ import contextlib import multiprocessing import os import shutil +import sys import tempfile import threading @@ -26,9 +27,15 @@ def autoremoved_file(path): def run_function_in_parallel(func, args_list, threads=False): processes = [] + exit_code = 0 for task in args_list: cls = threading.Thread if threads else multiprocessing.Process processes.append(cls(target=func, args=task)) processes[-1].start() for process in processes: process.join() + if not threads: + if process.exitcode and not exit_code: + exit_code = process.exitcode + if exit_code: + sys.exit(exit_code)