Преглед на файлове

pkg/pools: avoid copy of sync.Pool

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
(cherry picked from commit ba3af336eb0bd5bd6082b41bb4ce0ea542c3f008)
Alexander Morozov преди 9 години
родител
ревизия
0ec119e727
променени са 1 файла, в които са добавени 4 реда и са изтрити 4 реда
  1. 4 4
      pkg/pools/pools.go

+ 4 - 4
pkg/pools/pools.go

@@ -28,7 +28,7 @@ const buffer32K = 32 * 1024
 
 // BufioReaderPool is a bufio reader that uses sync.Pool.
 type BufioReaderPool struct {
-	pool sync.Pool
+	pool *sync.Pool
 }
 
 func init() {
@@ -39,7 +39,7 @@ func init() {
 // newBufioReaderPoolWithSize is unexported because new pools should be
 // added here to be shared where required.
 func newBufioReaderPoolWithSize(size int) *BufioReaderPool {
-	pool := sync.Pool{
+	pool := &sync.Pool{
 		New: func() interface{} { return bufio.NewReaderSize(nil, size) },
 	}
 	return &BufioReaderPool{pool: pool}
@@ -80,13 +80,13 @@ func (bufPool *BufioReaderPool) NewReadCloserWrapper(buf *bufio.Reader, r io.Rea
 
 // BufioWriterPool is a bufio writer that uses sync.Pool.
 type BufioWriterPool struct {
-	pool sync.Pool
+	pool *sync.Pool
 }
 
 // newBufioWriterPoolWithSize is unexported because new pools should be
 // added here to be shared where required.
 func newBufioWriterPoolWithSize(size int) *BufioWriterPool {
-	pool := sync.Pool{
+	pool := &sync.Pool{
 		New: func() interface{} { return bufio.NewWriterSize(nil, size) },
 	}
 	return &BufioWriterPool{pool: pool}