Files
Esteban Ginez be3fcf33e8 fix(shim/windows): retry on winio.ErrTimeout in awaitPipeReady
awaitPipeReady retried only when DialPipe returned os.IsNotExist or
context.DeadlineExceeded, but winio.DialPipe converts the per-attempt
deadline into winio.ErrTimeout before returning. A pipe in state 1
(ListenPipe called, Accept not yet called) causes DialPipe to block for
the full per-attempt timeout and return winio.ErrTimeout, which the old
check treated as a fatal error instead of retrying.

Also guard windows.ERROR_PIPE_BUSY explicitly to match the error checks
in containerd/nerdbox#218.

Adds a regression test that forces the state-1 to state-2 transition
race by delaying Accept past the 1-second per-attempt timeout.

Signed-off-by: Esteban Ginez <esteban.ginez@docker.com>
2026-06-10 14:49:50 -07:00
..
2026-04-08 08:29:28 -05:00
2024-09-30 21:44:16 +00:00
2024-03-07 10:05:26 -08:00
2024-03-07 10:05:26 -08:00
2024-03-07 10:05:26 -08:00
2024-03-07 10:05:26 -08:00
2026-03-13 10:20:01 +01:00
2026-03-15 18:24:15 +01:00
2026-03-13 10:20:01 +01:00
2026-04-29 10:51:55 -07:00