diff --git a/internal/multiplex/bufferedPipe.go b/internal/multiplex/bufferedPipe.go index 7652cc9..ea3f87e 100644 --- a/internal/multiplex/bufferedPipe.go +++ b/internal/multiplex/bufferedPipe.go @@ -92,8 +92,9 @@ func (p *bufferedPipe) WriteTo(w io.Writer) (n int64, err error) { return n, er } p.rwCond.Broadcast() + } else { + p.rwCond.Wait() } - p.rwCond.Wait() } } diff --git a/internal/multiplex/datagramBuffer.go b/internal/multiplex/datagramBuffer.go index c3ea771..e802e0a 100644 --- a/internal/multiplex/datagramBuffer.go +++ b/internal/multiplex/datagramBuffer.go @@ -98,8 +98,9 @@ func (d *datagramBuffer) WriteTo(w io.Writer) (n int64, err error) { return n, er } d.rwCond.Broadcast() + } else { + d.rwCond.Wait() } - d.rwCond.Wait() } }