diff options
Diffstat (limited to 'scripts/LocalDriver.py')
-rw-r--r-- | scripts/LocalDriver.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/scripts/LocalDriver.py b/scripts/LocalDriver.py index e0f6f2ae306..3999c56263c 100644 --- a/scripts/LocalDriver.py +++ b/scripts/LocalDriver.py @@ -569,11 +569,20 @@ class LocalDriver(Driver): # interrupted by potential KeyboardInterrupt exceptions which could leave some servers # behind. # - t=threading.Thread(target = lambda: self.runner.stopServerSide(server, current, success)) + failure = [] + def stopServerSide(): + try: + self.runner.stopServerSide(server, current, success) + except Exception as ex: + failure.append(ex) + + t=threading.Thread(target = stopServerSide) t.start() while True: try: t.join() + if failure: + raise failure[0] break except KeyboardInterrupt: pass # Ignore keyboard interrupts |