diff --git a/session.go b/session.go index 4dfd8c2..a06f2ec 100644 --- a/session.go +++ b/session.go @@ -238,6 +238,7 @@ func (s *Session) keepalive() { select { case <-tickerPing.C: s.writeFrame(newFrame(cmdNOP, 0)) + s.bucketCond.Signal() // force a signal to the recvLoop case <-tickerTimeout.C: if !atomic.CompareAndSwapInt32(&s.dataReady, 1, 0) { s.Close()