Sfoglia il codice sorgente

ioutils: fix race in access closeErr in bytespipe

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Alexander Morozov 9 anni fa
parent
commit
b32478488c
1 ha cambiato i file con 2 aggiunte e 1 eliminazioni
  1. 2 1
      pkg/ioutils/bytespipe.go

+ 2 - 1
pkg/ioutils/bytespipe.go

@@ -133,8 +133,9 @@ func (bp *BytesPipe) Read(p []byte) (n int, err error) {
 		}
 		}
 		bp.wait.Wait()
 		bp.wait.Wait()
 		if bp.bufLen == 0 && bp.closeErr != nil {
 		if bp.bufLen == 0 && bp.closeErr != nil {
+			err := bp.closeErr
 			bp.mu.Unlock()
 			bp.mu.Unlock()
-			return 0, bp.closeErr
+			return 0, err
 		}
 		}
 	}
 	}