forked from pothtonswer/discordmuffin
Even better checking that we don't close nil/closed chans.
This commit is contained in:
parent
166fb1f5b5
commit
2469147d8a
1 changed files with 16 additions and 4 deletions
20
discord.go
20
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 {
|
||||
|
|
Loading…
Reference in a new issue