mirror of
https://github.com/moby/moby.git
synced 2026-01-11 18:51:37 +00:00
client: ImagePullResponse: use sync.OnceValue
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
@@ -16,15 +16,18 @@ import (
|
||||
)
|
||||
|
||||
func newImagePullResponse(rc io.ReadCloser) ImagePullResponse {
|
||||
if rc == nil {
|
||||
panic("nil io.ReadCloser")
|
||||
}
|
||||
return ImagePullResponse{
|
||||
rc: rc,
|
||||
close: &sync.Once{},
|
||||
close: sync.OnceValue(rc.Close),
|
||||
}
|
||||
}
|
||||
|
||||
type ImagePullResponse struct {
|
||||
rc io.ReadCloser
|
||||
close *sync.Once
|
||||
close func() error
|
||||
}
|
||||
|
||||
// Read implements io.ReadCloser
|
||||
@@ -37,13 +40,7 @@ func (r ImagePullResponse) Close() error {
|
||||
if r.close == nil {
|
||||
return nil
|
||||
}
|
||||
var err error
|
||||
r.close.Do(func() {
|
||||
if r.rc != nil {
|
||||
err = r.rc.Close()
|
||||
}
|
||||
})
|
||||
return err
|
||||
return r.close()
|
||||
}
|
||||
|
||||
// JSONMessages decodes the response stream as a sequence of JSONMessages.
|
||||
|
||||
15
vendor/github.com/moby/moby/client/image_pull.go
generated
vendored
15
vendor/github.com/moby/moby/client/image_pull.go
generated
vendored
@@ -16,15 +16,18 @@ import (
|
||||
)
|
||||
|
||||
func newImagePullResponse(rc io.ReadCloser) ImagePullResponse {
|
||||
if rc == nil {
|
||||
panic("nil io.ReadCloser")
|
||||
}
|
||||
return ImagePullResponse{
|
||||
rc: rc,
|
||||
close: &sync.Once{},
|
||||
close: sync.OnceValue(rc.Close),
|
||||
}
|
||||
}
|
||||
|
||||
type ImagePullResponse struct {
|
||||
rc io.ReadCloser
|
||||
close *sync.Once
|
||||
close func() error
|
||||
}
|
||||
|
||||
// Read implements io.ReadCloser
|
||||
@@ -37,13 +40,7 @@ func (r ImagePullResponse) Close() error {
|
||||
if r.close == nil {
|
||||
return nil
|
||||
}
|
||||
var err error
|
||||
r.close.Do(func() {
|
||||
if r.rc != nil {
|
||||
err = r.rc.Close()
|
||||
}
|
||||
})
|
||||
return err
|
||||
return r.close()
|
||||
}
|
||||
|
||||
// JSONMessages decodes the response stream as a sequence of JSONMessages.
|
||||
|
||||
Reference in New Issue
Block a user