From fa45f32081fc91cfe98889120de1ca0fcb5daee7 Mon Sep 17 00:00:00 2001 From: xtaci Date: Wed, 25 Nov 2020 22:53:43 +0800 Subject: [PATCH] bug fix for https://github.com/xtaci/smux/issues/82 --- stream.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/stream.go b/stream.go index b21bdef..6c9499c 100644 --- a/stream.go +++ b/stream.go @@ -272,6 +272,12 @@ func (s *Stream) waitRead() error { case <-s.chReadEvent: return nil case <-s.chFinEvent: + // BUG(xtaci): Fix for https://github.com/xtaci/smux/issues/82 + s.bufferLock.Lock() + defer s.bufferLock.Unlock() + if len(s.buffers) > 0 { + return nil + } return io.EOF case <-s.sess.chSocketReadError: return s.sess.socketReadError.Load().(error)