containerd/core/remotes
Justin Chadwell b48e1141eb copy: setError should imply Close
If sending two messages from goroutine X:

	a <- 1
	b <- 2

And receiving them in goroutine Y:

	select {
	case <- a:
	case <- b:
	}

Either branch of the select can trigger first - so when we call
.setError and .Close next to each other, we don't know whether the done
channel will close first or the error channel will receive first - so
sometimes, we get an incorrect error message.

We resolve this by not sending both signals - instead, we can have
.setError *imply* .Close, by having the pushWriter call .Close on
itself, after receiving an error.

Signed-off-by: Justin Chadwell <me@jedevc.com>
2024-02-03 10:20:11 +01:00
..
docker copy: setError should imply Close 2024-02-03 10:20:11 +01:00
errors Move remotes to core/remotes 2024-01-17 09:52:21 -08:00
handlers_test.go Move remotes to core/remotes 2024-01-17 09:52:21 -08:00
handlers.go Switch to new errdefs package 2024-01-25 22:18:45 -08:00
resolver.go Move remotes to core/remotes 2024-01-17 09:52:21 -08:00