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
|
s.DataReady = false
|
||||||
|
|
||||||
if s.listenChan != nil {
|
if s.heartbeatChan != nil {
|
||||||
close(s.listenChan)
|
select {
|
||||||
|
case <-s.heartbeatChan:
|
||||||
|
break
|
||||||
|
default:
|
||||||
|
close(s.heartbeatChan)
|
||||||
|
}
|
||||||
|
s.heartbeatChan = nil
|
||||||
}
|
}
|
||||||
|
|
||||||
if s.heartbeatChan != nil {
|
if s.listenChan != nil {
|
||||||
close(s.heartbeatChan)
|
select {
|
||||||
|
case <-s.listenChan:
|
||||||
|
break
|
||||||
|
default:
|
||||||
|
close(s.listenChan)
|
||||||
|
}
|
||||||
|
s.listenChan = nil
|
||||||
}
|
}
|
||||||
|
|
||||||
if s.wsConn != nil {
|
if s.wsConn != nil {
|
||||||
|
|
Loading…
Reference in a new issue