From 7c25eaad7fd63819d5d981a5a4e173cf2ed56b88 Mon Sep 17 00:00:00 2001 From: Roman Zeyde Date: Mon, 15 Jun 2015 09:15:24 +0300 Subject: [PATCH] agent: close socket server after exception --- agent.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/agent.py b/agent.py index 7231a6a..1c58dae 100755 --- a/agent.py +++ b/agent.py @@ -81,9 +81,11 @@ def serve(key_files, command, signer, sock_path=None): environ = {'SSH_AUTH_SOCK': sock_path, 'SSH_AGENT_PID': str(os.getpid())} with unix_domain_socket_server(sock_path) as server: with spawn(worker_thread, server=server, keys=keys, signer=signer): - ret = run(command=command, environ=environ) - log.debug('closing server') - server.shutdown(socket.SHUT_RD) + try: + ret = run(command=command, environ=environ) + finally: + log.debug('closing server') + server.shutdown(socket.SHUT_RD) log.info('exitcode: %d', ret) sys.exit(ret)