File tree Expand file tree Collapse file tree 1 file changed +15
-2
lines changed Expand file tree Collapse file tree 1 file changed +15
-2
lines changed Original file line number Diff line number Diff line change @@ -738,9 +738,22 @@ func (s *session) onAdmin(msg interface{}) {
738738
739739func (s * session ) run () {
740740 s .Start (s )
741+ var stopChan = make (chan struct {})
742+ s .stateTimer = internal .NewEventTimer (func () {
743+ select {
744+ //deadlock in write to chan s.sessionEvent after s.Stopped()==true and end of loop session.go:766 because no reader of chan s.sessionEvent
745+ case s .sessionEvent <- internal .NeedHeartbeat :
746+ case <- stopChan :
747+ }
748+ })
749+ s .peerTimer = internal .NewEventTimer (func () {
750+ select {
751+ //deadlock in write to chan s.sessionEvent after s.Stopped()==true and end of loop session.go:766 because no reader of chan s.sessionEvent
752+ case s .sessionEvent <- internal .PeerTimeout :
753+ case <- stopChan :
754+ }
741755
742- s .stateTimer = internal .NewEventTimer (func () { s .sessionEvent <- internal .NeedHeartbeat })
743- s .peerTimer = internal .NewEventTimer (func () { s .sessionEvent <- internal .PeerTimeout })
756+ })
744757 ticker := time .NewTicker (time .Second )
745758
746759 defer func () {
You can’t perform that action at this time.
0 commit comments