diff --git a/network/default.go b/network/default.go index 3fde3fdb..9f29414d 100644 --- a/network/default.go +++ b/network/default.go @@ -1145,8 +1145,6 @@ func (n *network) connect() { n.sendConnect() } - log.Tracef("connected %v discovered %v backoff %v\n", connected, discovered, backoff.Do(attempts)) - // check if we've been discovered select { case <-n.discovered: diff --git a/tunnel/link.go b/tunnel/link.go index a7367812..a072a047 100644 --- a/tunnel/link.go +++ b/tunnel/link.go @@ -200,6 +200,8 @@ func (l *link) process() { // process link state message select { case l.state <- pk: + case <-l.closed: + return default: } continue @@ -221,7 +223,11 @@ func (l *link) process() { select { case pk := <-l.sendQueue: // send the message - pk.status <- l.send(pk.message) + select { + case pk.status <- l.send(pk.message): + case <-l.closed: + return + } case <-l.closed: return } @@ -388,13 +394,6 @@ func (l *link) Send(m *transport.Message) error { // get time now now := time.Now() - // check if its closed first - select { - case <-l.closed: - return io.EOF - default: - } - // queue the message select { case l.sendQueue <- p: