Skip to content

Commit 3ce9479

Browse files
tigerleeackleymi
authored andcommitted
Avoid to block thread while write to a nil channel
if session disconnected during sendBytes, session.messageOut may be set to nil before write in session.onDisconnect()
1 parent 07872e7 commit 3ce9479

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

session.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -367,6 +367,11 @@ func (s *session) EnqueueBytesAndSend(msg []byte) {
367367
}
368368

369369
func (s *session) sendBytes(msg []byte) {
370+
if s.messageOut == nil {
371+
s.log.OnEventf("Failed to send: disconnected")
372+
return
373+
}
374+
370375
s.log.OnOutgoing(msg)
371376
s.messageOut <- msg
372377
s.stateTimer.Reset(s.HeartBtInt)

0 commit comments

Comments
 (0)