Skip to content

Commit 63f65f4

Browse files
committed
Restore the original signal handler
Signed-off-by: David Gardner <dagardner@nvidia.com>
1 parent 9d47d9f commit 63f65f4

1 file changed

Lines changed: 9 additions & 4 deletions

File tree

ci/scripts/run_tests.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -247,8 +247,12 @@ def main(junit_xml: str | None,
247247
with Pool(processes=jobs) as pool:
248248
ex = pool
249249

250+
orig_handler = signal.getsignal(signal.SIGINT)
251+
250252
def shutdown_pool(_signum, _frame, wait: bool = False):
251253
nonlocal ex
254+
255+
shutdown_msg = "Exiting"
252256
if ex is not None:
253257
print("Shutting down pool...")
254258
if wait:
@@ -257,13 +261,14 @@ def shutdown_pool(_signum, _frame, wait: bool = False):
257261
ex.terminate()
258262
ex.join()
259263
if _signum is not None:
260-
msg = f"Received signal {_signum}, exiting"
261-
else:
262-
msg = "Exiting"
263-
raise SystemExit(msg)
264+
shutdown_msg = f"Received signal {_signum}, exiting"
265+
264266
else:
265267
print("Pool not found")
266268

269+
signal.signal(signal.SIGINT, orig_handler)
270+
raise SystemExit(shutdown_msg)
271+
267272
signal.signal(signal.SIGINT, shutdown_pool)
268273
futs = [
269274
pool.apply_async(run_one,

0 commit comments

Comments
 (0)