Skip to content

Test stale wake-ups in threaded process waits - #212

Merged
samuel-williams-shopify merged 3 commits into
mainfrom
fix-process-wait-spurious-wakeup
Aug 26, 2026
Merged

Test stale wake-ups in threaded process waits#212
samuel-williams-shopify merged 3 commits into
mainfrom
fix-process-wait-spurious-wakeup

Conversation

@samuel-williams-shopify

@samuel-williams-shopify samuel-williams-shopify commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add regression coverage for stale scheduler wake-ups while waiting for a worker thread.
  • Run the regression only on Ruby 4.0 and newer, where CRuby handles spurious Thread#join wake-ups correctly.
  • Do not add an io-event runtime workaround.

Ruby 3.3 and 3.4 are skipped pending the upstream fix being backported:

Discovered while validating socketry/async#469.

Testing

  • Ruby 3.4: 5 passed, 1 skipped (7 assertions)
  • Ruby 4.0: 5 passed (8 assertions)
  • RuboCop: no offenses

Signed-off-by: Samuel Williams <samuel.williams@shopify.com>
Signed-off-by: Samuel Williams <samuel.williams@shopify.com>
@samuel-williams-shopify samuel-williams-shopify changed the title Tolerate stale wake-ups in threaded process waits Test stale wake-ups in threaded process waits Aug 26, 2026
Signed-off-by: Samuel Williams <samuel.williams@shopify.com>
@samuel-williams-shopify
samuel-williams-shopify force-pushed the fix-process-wait-spurious-wakeup branch from f942b8b to 75994e1 Compare August 26, 2026 00:32
@samuel-williams-shopify
samuel-williams-shopify merged commit d451ce6 into main Aug 26, 2026
56 of 64 checks passed
@samuel-williams-shopify
samuel-williams-shopify deleted the fix-process-wait-spurious-wakeup branch August 26, 2026 00:52
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