From 2469147d8ad430706d47add532b7a5ff00a184e5 Mon Sep 17 00:00:00 2001 From: Bruce Marriner Date: Mon, 11 Jan 2016 14:33:01 -0600 Subject: [PATCH] Even better checking that we don't close nil/closed chans. --- discord.go | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/discord.go b/discord.go index e985dbf..df50178 100644 --- a/discord.go +++ b/discord.go @@ -125,12 +125,24 @@ func (s *Session) Close() { s.DataReady = false - if s.listenChan != nil { - close(s.listenChan) + if s.heartbeatChan != nil { + select { + case <-s.heartbeatChan: + break + default: + close(s.heartbeatChan) + } + s.heartbeatChan = nil } - if s.heartbeatChan != nil { - close(s.heartbeatChan) + if s.listenChan != nil { + select { + case <-s.listenChan: + break + default: + close(s.listenChan) + } + s.listenChan = nil } if s.wsConn != nil {