Even better checking that we don't close nil/closed chans.

This commit is contained in:
Bruce Marriner 2016-01-11 14:33:01 -06:00
parent 166fb1f5b5
commit 2469147d8a

View file

@ -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 {