summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShawn O. Pearce <sop@google.com>2009-06-16 11:49:10 -0700
committerShawn O. Pearce <sop@google.com>2009-06-16 11:49:10 -0700
commit26120ca18dd8c2567b0df5a533d52d53c4111bc2 (patch)
tree08168f9a38f9498fb8abb348204a5bb97dcf1e7c
parent7da73d6f3ba579c67e58499b785dc4ac5beb9391 (diff)
downloadgit-repo-26120ca18dd8c2567b0df5a533d52d53c4111bc2.tar.gz
Don't crash if the ssh client is already dead
If the SSH client terminated abnormally in the background (e.g. the server shutdown while we were doing a sync) then the pid won't exist. Instead of crashing, ignore it, the result we wanted (a non-orphaned ssh process) is already acheived. Signed-off-by: Shawn O. Pearce <sop@google.com>
-rw-r--r--git_config.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/git_config.py b/git_config.py
index d33c3b12..36e8d939 100644
--- a/git_config.py
+++ b/git_config.py
@@ -385,8 +385,11 @@ def _open_ssh(host, port):
385 385
386def close_ssh(): 386def close_ssh():
387 for key,p in _ssh_cache.iteritems(): 387 for key,p in _ssh_cache.iteritems():
388 os.kill(p.pid, SIGTERM) 388 try:
389 p.wait() 389 os.kill(p.pid, SIGTERM)
390 p.wait()
391 catch OSError:
392 pass
390 _ssh_cache.clear() 393 _ssh_cache.clear()
391 394
392 d = _ssh_sock(create=False) 395 d = _ssh_sock(create=False)