summaryrefslogtreecommitdiff
path: root/lib/spack/external/ctest_log_parser.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/spack/external/ctest_log_parser.py')
-rw-r--r--lib/spack/external/ctest_log_parser.py9
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()