Skip to content

Make Stop() blocking across all runners#90

Merged
robbyt merged 6 commits intomainfrom
rterhaar/fix-blocking-stop
Feb 17, 2026
Merged

Make Stop() blocking across all runners#90
robbyt merged 6 commits intomainfrom
rterhaar/fix-blocking-stop

Conversation

@robbyt
Copy link
Owner

@robbyt robbyt commented Feb 7, 2026

This adds a shared lifecycle.StartStop struct that makes Stop() block until Run() completes across all three runners (httpserver, httpcluster, composite). Previously, Stop() only cancelled a stored context and returned immediately — callers had no way to know when shutdown actually finished. The new behavior guarantees that when Stop() returns, Run() has fully completed its cleanup, including child shutdown and FSM state transitions. This also correctly handles edge cases like Stop() being called before Run(), multiple concurrent Stop() calls, and restart cycles.

@github-actions
Copy link

github-actions bot commented Feb 7, 2026

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@sonarqubecloud
Copy link

@robbyt robbyt changed the title make Stop() blocking, simplify FSM broadcast Change Stop() calls to block Feb 17, 2026
@robbyt robbyt changed the title Change Stop() calls to block Make Stop() blocking across all runners Feb 17, 2026
@robbyt robbyt merged commit a657976 into main Feb 17, 2026
3 checks passed
@robbyt robbyt deleted the rterhaar/fix-blocking-stop branch February 17, 2026 00:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant