From 4ca0fd3c5576a482b5c8facc948d8fa34ccda286 Mon Sep 17 00:00:00 2001 From: Mikkel Krautz Date: Thu, 23 Jun 2011 00:46:15 +0200 Subject: [PATCH] Fix send on closed channel error. --- server.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/server.go b/server.go index 0bdafb7..e4f4af6 100644 --- a/server.go +++ b/server.go @@ -277,16 +277,16 @@ func (server *Server) NewClient(conn net.Conn) (err os.Error) { // internal representation. func (server *Server) RemoveClient(client *Client, kicked bool) { server.hmutex.Lock() - if client.udpaddr != nil { - host := client.udpaddr.IP.String() - oldclients := server.hclients[host] - newclients := []*Client{} - for _, hostclient := range oldclients { - if hostclient != client { - newclients = append(newclients, hostclient) - } + host := client.tcpaddr.IP.String() + oldclients := server.hclients[host] + newclients := []*Client{} + for _, hostclient := range oldclients { + if hostclient != client { + newclients = append(newclients, hostclient) } - server.hclients[host] = newclients + } + server.hclients[host] = newclients + if client.udpaddr != nil { server.hpclients[client.udpaddr.String()] = nil, false } server.hmutex.Unlock()