X-Git-Url: https://defaria.com/gitweb/?a=blobdiff_plain;f=bin%2Ftunnel.pl;h=56be859f482686d44e1910a2616d7fe90990bd1c;hb=6412858fa52f00c96d6239e28c5cba7d5d342474;hp=2ee85f0001592806c96725656bfcfbe648e23ff7;hpb=65420197aa633c6aabfec834730c7e87c93649cf;p=clearscm.git diff --git a/bin/tunnel.pl b/bin/tunnel.pl index 2ee85f0..56be859 100755 --- a/bin/tunnel.pl +++ b/bin/tunnel.pl @@ -124,6 +124,8 @@ sub interrupt { Report "Tunnel killed unexpectedly", 1; kill 'INT', $ssh->get_master_pid; + + return; } # interrupt sub tunnel() { @@ -142,6 +144,7 @@ RETRY: Report("Unable to establish ssh tunnel " . $ssh->error, 1) if $ssh->error; + # Check to see if address is already in use my @lines = <$fh>; close $fh; @@ -158,6 +161,9 @@ RETRY: $log->msg($msg); + # Reset retry attempts since we reestablished the tunnel + $retryattempts = 0 if $retryattempts; + # Wait for master to exit waitpid($ssh->get_master_pid, WUNTRACED); @@ -168,6 +174,8 @@ RETRY: Report 'Ssh tunnel terminated unexpectedly - Attempting restart'; + undef $ssh; + goto RETRY; } # if