forked from OSchip/llvm-project
[lit] Try to improve Ctrl-C behavior on Windows
This functionality was broken during a refactor a while back because 'pool' is no longer in scope. llvm-svn: 318572
This commit is contained in:
parent
41bfed13ca
commit
6810c20c1b
|
@ -71,6 +71,16 @@ class Run(object):
|
||||||
(self.lit_config,
|
(self.lit_config,
|
||||||
self.parallelism_semaphores))
|
self.parallelism_semaphores))
|
||||||
|
|
||||||
|
# Install a console-control signal handler on Windows.
|
||||||
|
if win32api is not None:
|
||||||
|
def console_ctrl_handler(type):
|
||||||
|
print('\nCtrl-C detected, terminating.')
|
||||||
|
pool.terminate()
|
||||||
|
pool.join()
|
||||||
|
abort_now()
|
||||||
|
return True
|
||||||
|
win32api.SetConsoleCtrlHandler(console_ctrl_handler, True)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
async_results = [pool.apply_async(worker_run_one_test,
|
async_results = [pool.apply_async(worker_run_one_test,
|
||||||
args=(test_index, test),
|
args=(test_index, test),
|
||||||
|
@ -126,16 +136,6 @@ class Run(object):
|
||||||
if not self.tests or jobs == 0:
|
if not self.tests or jobs == 0:
|
||||||
return
|
return
|
||||||
|
|
||||||
# Install a console-control signal handler on Windows.
|
|
||||||
if win32api is not None:
|
|
||||||
def console_ctrl_handler(type):
|
|
||||||
print('\nCtrl-C detected, terminating.')
|
|
||||||
pool.terminate()
|
|
||||||
pool.join()
|
|
||||||
abort_now()
|
|
||||||
return True
|
|
||||||
win32api.SetConsoleCtrlHandler(console_ctrl_handler, True)
|
|
||||||
|
|
||||||
# Save the display object on the runner so that we can update it from
|
# Save the display object on the runner so that we can update it from
|
||||||
# our task completion callback.
|
# our task completion callback.
|
||||||
self.display = display
|
self.display = display
|
||||||
|
|
Loading…
Reference in New Issue