diff --git a/session.go b/session.go index bc775f8..1ce8b03 100644 --- a/session.go +++ b/session.go @@ -490,6 +490,12 @@ func (s *Session) sendMsg(hdr header, body []byte, deadline <-chan struct{}) err default: } + select { + case <-deadline: + return ErrTimeout + default: + } + // duplicate as we're sending this async. buf := pool.Get(headerSize + len(body)) copy(buf[:headerSize], hdr[:])