Merge pull request #935 from leafnode/upstream

check if ssh-agent really exists
This commit is contained in:
Hylke Bons 2012-08-27 06:04:31 -07:00
commit 4fdb65b2f3

View file

@ -191,12 +191,22 @@ namespace SparkleShare {
private void StartSSH () private void StartSSH ()
{ {
string auth_sock = Environment.GetEnvironmentVariable ("SSH_AUTH_SOCK"); string auth_agent_pid = Environment.GetEnvironmentVariable("SSH_AGENT_PID");
if (!string.IsNullOrEmpty (auth_sock)) { if (!string.IsNullOrEmpty (auth_agent_pid)) {
SparkleLogger.LogInfo("Controller", "Trying existing ssh-agent with PID=" + auth_agent_pid);
this.ssh_agent_pid = Convert.ToInt32(auth_agent_pid);
try
{
Process ssh_agent = Process.GetProcessById(this.ssh_agent_pid);
SparkleLogger.LogInfo("Controller", "Using existing ssh-agent with PID=" + this.ssh_agent_pid); SparkleLogger.LogInfo("Controller", "Using existing ssh-agent with PID=" + this.ssh_agent_pid);
return; return;
} }
catch (ArgumentException e)
{
SparkleLogger.LogInfo("Controller", "ssh-agent with PID=" + auth_agent_pid + " does not exist. Starting a new one");
}
}
Process process = new Process (); Process process = new Process ();
process.StartInfo.FileName = "ssh-agent"; process.StartInfo.FileName = "ssh-agent";