diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/spack/external/ctest_log_parser.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/spack/external/ctest_log_parser.py b/lib/spack/external/ctest_log_parser.py index 2b2746003a..d1c8db16c8 100644 --- a/lib/spack/external/ctest_log_parser.py +++ b/lib/spack/external/ctest_log_parser.py @@ -71,6 +71,8 @@ from __future__ import division import re import math import multiprocessing +import sys +import threading import time from contextlib import contextmanager @@ -409,7 +411,12 @@ class CTestLogParser(object): pool = multiprocessing.Pool(jobs) try: # this is a workaround for a Python bug in Pool with ctrl-C - results = pool.map_async(_parse_unpack, args, 1).get(9999999) + if sys.version_info >= (3, 2): + max_timeout = threading.TIMEOUT_MAX + else: + max_timeout = 9999999 + results = pool.map_async(_parse_unpack, args, 1).get(max_timeout) + errors, warnings, timings = zip(*results) finally: pool.terminate() |