client: Client.ImageSave: close reader on context cancellation

Use a cancelReadCloser to automatically close the reader when the context
is cancelled. Consumers are still recommended to manually close the reader,
but the cancelReadCloser makes the Close idempotent.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
Sebastiaan van Stijn
2025-10-30 11:56:24 +01:00
parent 175e4e5048
commit f76f1fc013
10 changed files with 32 additions and 54 deletions

View File

@@ -879,7 +879,7 @@ func (d *Daemon) LoadImage(ctx context.Context, t testing.TB, img string) {
reader, err := clientHost.ImageSave(ctx, []string{img})
assert.NilError(t, err, "[%s] failed to download %s", d.id, img)
defer reader.Close()
defer func() { _ = reader.Close() }()
c := d.NewClientT(t)
defer c.Close()