Fix error handling in docs

This commit is contained in:
Ivan Blinkov 2020-02-03 13:33:47 +03:00
parent 9feb848e84
commit 6189b0e744

View File

@ -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)