Always attempt to close SSH gracefully

This commit is contained in:
Anders Ingemann 2015-01-25 17:32:23 +01:00
parent e9a3845281
commit a0e3ba218f

View file

@ -63,13 +63,17 @@ class RemoteBuildServer(BuildServer):
'local_callback_port': local_callback_port, 'local_callback_port': local_callback_port,
'remote_server_port': remote_server_port, 'remote_server_port': remote_server_port,
'remote_callback_port': remote_callback_port} 'remote_callback_port': remote_callback_port}
except (Exception, KeyboardInterrupt): finally:
log.debug('Waiting for SSH connection to the build server to close')
import time
start = time.time()
while ssh_process.poll() is None:
if time.time() - start > 5:
log.debug('Forcefully terminating SSH connection to the build server') log.debug('Forcefully terminating SSH connection to the build server')
ssh_process.terminate() ssh_process.terminate()
raise break
else: else:
log.debug('Waiting for SSH connection to the build server to close') time.sleep(0.5)
ssh_process.wait()
def download(self, src, dst): def download(self, src, dst):
log.debug('Downloading file `{src}\' from ' log.debug('Downloading file `{src}\' from '