diff --git a/transport/pipe/impl.go b/transport/pipe/impl.go index 6439e3efe..933f7208f 100644 --- a/transport/pipe/impl.go +++ b/transport/pipe/impl.go @@ -62,6 +62,7 @@ func (p *pipe) ReadMultiBuffer() (buf.MultiBuffer, error) { for { data, err := p.readMultiBufferInternal() if data != nil || err != nil { + p.writeSignal.Signal() return data, err } diff --git a/transport/pipe/pipe.go b/transport/pipe/pipe.go index a53e8b8d9..50c3c632d 100644 --- a/transport/pipe/pipe.go +++ b/transport/pipe/pipe.go @@ -19,6 +19,7 @@ func WithSizeLimit(limit int32) Option { } } +// New creates a new Reader and Writer that connects to each other. func New(opts ...Option) (*Reader, *Writer) { p := &pipe{ limit: defaultLimit,