Skip to content

Fix Workshop SSE shutdown hang - #1064

Merged
dcellison merged 1 commit into
mainfrom
fix/workshop-sse-graceful-shutdown
Aug 23, 2026
Merged

Fix Workshop SSE shutdown hang#1064
dcellison merged 1 commit into
mainfrom
fix/workshop-sse-graceful-shutdown

Conversation

@dcellison

Copy link
Copy Markdown
Owner

Summary

  • signal active Workshop SSE handlers when their aiohttp application begins shutdown
  • let persistent event streams exit promptly and release their capacity slots
  • bound each HTTP runner's defensive graceful-request timeout below the service-generation watchdog
  • cover shutdown with a real server holding an otherwise 30-second-idle SSE connection open

Why

An open Workshop browser keeps a persistent SSE request active. During service shutdown, aiohttp waited its default 60-second handler timeout, while Kai's verified generation guard escalated to SIGKILL after 65 seconds. Installs and kickstarts therefore appeared hung and the old process did not complete its cleanup path.

Validation

  • 6084 passed in 73.62s
  • make check
  • make typecheck
  • focused HTTP/Workshop suite: 315 passed
  • real-server SSE shutdown regression completes in under one second

@dcellison
dcellison merged commit 0d09990 into main Aug 23, 2026
2 checks passed
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.

2 participants