From 7b418e2c2c4d93e036ba93cacf3d96a6ea3352eb Mon Sep 17 00:00:00 2001 From: Simon Eisenmann Date: Wed, 4 Mar 2015 11:12:25 +0100 Subject: [PATCH] Avoid to defer replace and close. --- src/app/spreed-webrtc-server/hub.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/app/spreed-webrtc-server/hub.go b/src/app/spreed-webrtc-server/hub.go index 0535670f..963c74b9 100644 --- a/src/app/spreed-webrtc-server/hub.go +++ b/src/app/spreed-webrtc-server/hub.go @@ -156,9 +156,9 @@ func (h *hub) OnConnect(client Client, session *Session) { if ec, ok := h.clients[session.Id]; ok { // Clean up old client at the end and make sure to run this in another go routine, // to avoid blocking the new client if the old one hangs or whatever. - defer func() { - log.Printf("Closing obsolete client %d with id %s\n", ec.Index(), session.Id) - go ec.ReplaceAndClose() + go func() { + log.Printf("Closing obsolete client %d (replaced with %d) with id %s\n", ec.Index(), client.Index(), session.Id) + ec.ReplaceAndClose() }() } h.clients[session.Id] = client