From 0ee7f75a221e26da298a7862059ee8cf45e0acf2 Mon Sep 17 00:00:00 2001 From: Zack Scholl Date: Sat, 21 Oct 2017 16:19:34 -0600 Subject: [PATCH] Need to close connections correctly --- relay.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/relay.go b/relay.go index c3b6e00d..2ba0a20d 100644 --- a/relay.go +++ b/relay.go @@ -114,8 +114,6 @@ func (r *Relay) listener(id int) (err error) { } func (r *Relay) clientCommuncation(id int, connection net.Conn) { - defer connection.Close() - logger := log.WithFields(log.Fields{ "id": id, "ip": connection.RemoteAddr().String(), @@ -171,6 +169,10 @@ func (r *Relay) clientCommuncation(id int, connection net.Conn) { Pipe(con1, con2) logger.Debug("done piping") r.connections.Lock() + // close connections + r.connections.sender[key].Close() + r.connections.receiver[key].Close() + // delete connctions delete(r.connections.sender, key) delete(r.connections.receiver, key) delete(r.connections.metadata, key)