fix: allow detach during compose up startup wait - #14013
Open
CyberEclipses wants to merge 1 commit into
Open
Conversation
Signed-off-by: Cyber Eclipse <143217084+CyberEclipses@users.noreply.github.com>
CyberEclipses
force-pushed
the
investigate-13716-detach-healthcheck
branch
from
August 6, 2026 22:16
0d5474d to
ff65973
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #13716
This updates the attached
compose upflow so the interactive detach shortcut can interrupt the startup/wait phase.Previously, the detach shortcut cancelled
globalCtx, but service startup was executed withcontext.WithoutCancel(ctx). As a result, pressingdcould cancel the interactive/log side while the startup/wait path continued until services reached running/healthy state.This change introduces a detach-aware startup context. It keeps startup isolated from parent cancellation for the existing signal-handling behavior, while allowing the explicit detach action to cancel startup/wait and return control cleanly.
Validation:
dependentwaits onslow: condition: service_healthyslowin healthcheck waiting state/tmp/docker-compose -f /tmp/compose-13716-repro/compose.yaml up --menudwhileslowwas Waitingslowremained running withdocker psdown -v --remove-orphans