From 7e5dd243733d73a24ec080a61d1bfe69063f30f1 Mon Sep 17 00:00:00 2001 From: JoshVanL Date: Thu, 14 Mar 2019 17:50:21 +0000 Subject: [PATCH] Don't close closed channel in tunnel Signed-off-by: JoshVanL --- pkg/tarmak/ssh/tunnel.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkg/tarmak/ssh/tunnel.go b/pkg/tarmak/ssh/tunnel.go index 2586454efb..a0bdf876c9 100644 --- a/pkg/tarmak/ssh/tunnel.go +++ b/pkg/tarmak/ssh/tunnel.go @@ -57,6 +57,7 @@ func (s *SSH) Tunnel(dest, destPort, localPort string, daemonize bool) interface destPort: destPort, daemonize: daemonize, localPort: localPort, + doneCh: make(chan struct{}), } s.tunnels = append(s.tunnels, tunnel) @@ -213,7 +214,12 @@ func (t *Tunnel) handleTimeout() { t.connsLock.Unlock() t.cleanup() - close(t.doneCh) + + select { + case <-t.doneCh: + default: + close(t.doneCh) + } } func (t *Tunnel) Done() <-chan struct{} {