Use threading.TIMEOUT_MAX when available (#32399)
This value was introduced in Python 3.2. Specifying a timeout greater than this value will raise an OverflowError.
This commit is contained in:
		
							
								
								
									
										9
									
								
								lib/spack/external/ctest_log_parser.py
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								lib/spack/external/ctest_log_parser.py
									
									
									
									
										vendored
									
									
								
							| @@ -71,6 +71,8 @@ | ||||
| import re | ||||
| import math | ||||
| import multiprocessing | ||||
| import sys | ||||
| import threading | ||||
| import time | ||||
| from contextlib import contextmanager | ||||
| 
 | ||||
| @@ -409,7 +411,12 @@ def parse(self, stream, context=6, jobs=None): | ||||
|             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() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Betsy McPhail
					Betsy McPhail