From 3b3d6867885961020c199f01e846379c901b7bef Mon Sep 17 00:00:00 2001 From: Tonis Tiigi Date: Wed, 6 Apr 2016 16:49:45 -0700 Subject: [PATCH] Fix closing attach streams on lost tcp connection Signed-off-by: Tonis Tiigi --- ioutils/bytespipe.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ioutils/bytespipe.go b/ioutils/bytespipe.go index f0d21de..59bba96 100644 --- a/ioutils/bytespipe.go +++ b/ioutils/bytespipe.go @@ -51,6 +51,7 @@ func (bp *BytesPipe) Write(p []byte) (int, error) { bp.mu.Lock() written := 0 +loop0: for { if bp.closeErr != nil { bp.mu.Unlock() @@ -85,6 +86,9 @@ func (bp *BytesPipe) Write(p []byte) (int, error) { // make sure the buffer doesn't grow too big from this write for bp.bufLen >= blockThreshold { bp.wait.Wait() + if bp.closeErr != nil { + continue loop0 + } } // add new byte slice to the buffers slice and continue writing