Ver código fonte

Merge pull request #21840 from tonistiigi/fix-closing-attach-streams

Fix closing attach streams on lost tcp connection
Brian Goff 9 anos atrás
pai
commit
4f8a6f3e02
1 arquivos alterados com 4 adições e 0 exclusões
  1. 4 0
      pkg/ioutils/bytespipe.go

+ 4 - 0
pkg/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