spiegel_podman/pkg/api/server
Jan Rodák ecf493dea0
Fix Docker compat /wait hanging on fast-exiting containers
The Docker client (docker run) sends /wait then /start, but it only
sends /start after receiving the 200 OK response from /wait. Previously,
the event subscription for the "died" event was set up after the 200 was
sent, creating a window where a fast-exiting container (e.g. hello-world)
could emit its "died" event before the subscription was ready, causing
the client to hang forever.

Fix this by subscribing to "died" events before flushing the 200 status
code. This guarantees the event listener is ready before the client can
send /start, eliminating the race entirely.

Fixes: https://github.com/containers/podman/issues/28514

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2026-04-20 15:01:42 +02:00
..
idle set !remote build tags where needed 2024-08-19 11:41:28 +02:00
doc.go Bump Go version to v6 2025-10-23 11:00:15 -04:00
handler_api.go Make most of libpod, and everything that relies on it, non-darwin 2026-02-27 22:18:36 +01:00
handler_logging.go Make most of libpod, and everything that relies on it, non-darwin 2026-02-27 22:18:36 +01:00
handler_panic.go Make most of libpod, and everything that relies on it, non-darwin 2026-02-27 22:18:36 +01:00
handler_rid.go Make most of libpod, and everything that relies on it, non-darwin 2026-02-27 22:18:36 +01:00
register_archive.go Make most of libpod, and everything that relies on it, non-darwin 2026-02-27 22:18:36 +01:00
register_artifacts.go Make most of libpod, and everything that relies on it, non-darwin 2026-02-27 22:18:36 +01:00
register_auth.go Make most of libpod, and everything that relies on it, non-darwin 2026-02-27 22:18:36 +01:00
register_containers.go Fix Docker compat /wait hanging on fast-exiting containers 2026-04-20 15:01:42 +02:00
register_distribution.go Make most of libpod, and everything that relies on it, non-darwin 2026-02-27 22:18:36 +01:00
register_events.go Make most of libpod, and everything that relies on it, non-darwin 2026-02-27 22:18:36 +01:00
register_exec.go chore(api): add swagger docs for undocumented API parameters 2026-03-11 23:19:30 -04:00
register_generate.go chore(api): add swagger docs for undocumented API parameters 2026-03-11 23:19:30 -04:00
register_healthcheck.go Make most of libpod, and everything that relies on it, non-darwin 2026-02-27 22:18:36 +01:00
register_images.go Implement --save-stages/--stage-labels for build 2026-04-17 10:00:32 -04:00
register_info.go Make most of libpod, and everything that relies on it, non-darwin 2026-02-27 22:18:36 +01:00
register_kube.go Make most of libpod, and everything that relies on it, non-darwin 2026-02-27 22:18:36 +01:00
register_manifest.go Make most of libpod, and everything that relies on it, non-darwin 2026-02-27 22:18:36 +01:00
register_monitor.go Make most of libpod, and everything that relies on it, non-darwin 2026-02-27 22:18:36 +01:00
register_networks.go Merge pull request #28166 from mtrmac/platform-restriction 2026-03-03 10:27:57 -05:00
register_ping.go Make most of libpod, and everything that relies on it, non-darwin 2026-02-27 22:18:36 +01:00
register_plugins.go Make most of libpod, and everything that relies on it, non-darwin 2026-02-27 22:18:36 +01:00
register_pods.go chore(api): add swagger docs for undocumented API parameters 2026-03-11 23:19:30 -04:00
register_quadlets.go Add Pod to quadlet list 2026-04-17 13:42:16 +02:00
register_secrets.go Merge pull request #28166 from mtrmac/platform-restriction 2026-03-03 10:27:57 -05:00
register_swagger.go Make most of libpod, and everything that relies on it, non-darwin 2026-02-27 22:18:36 +01:00
register_swarm.go Make most of libpod, and everything that relies on it, non-darwin 2026-02-27 22:18:36 +01:00
register_system.go chore(api): add swagger docs for undocumented API parameters 2026-03-11 23:19:30 -04:00
register_version.go Make most of libpod, and everything that relies on it, non-darwin 2026-02-27 22:18:36 +01:00
register_volumes.go volume prune: match Docker default and add --all 2026-03-19 13:40:45 +01:00
server.go Make most of libpod, and everything that relies on it, non-darwin 2026-02-27 22:18:36 +01:00