Skip to content

refactor: simplify waker notification paths - #341

Merged
tisonkun merged 5 commits into
apache:mainfrom
tisonkun:codex/waker-panic-docs
Oct 2, 2026
Merged

tisonkun merged 5 commits into
apache:mainfrom
tisonkun:codex/waker-panic-docs

Conversation

@tisonkun

@tisonkun tisonkun commented Oct 1, 2026 •

Copy link
Copy Markdown
Member

Summary

Executor waker operations, including cloning, waking, and dropping, are expected not to panic. Remove batch-wake unwind recovery and the corresponding per-API promises and tests, and record the contract change under Notable changes.

Use an explicit semaphore release loop that reuses the stack buffer and wakes each batch after unlocking. Simplify MPSC, MPMC, and SPMC disconnect notifications and waker re-registration while preserving cancellation handoff, unlocked callbacks and destruction, and user-value panic cleanup.

Validation: cargo x test (615 passed), cargo x lint, and cargo x check (feature matrix).

Refs #335.

Follow-up research: #342.

@tisonkun tisonkun changed the title docs: narrow waker panic recovery guarantees refactor: simplify waker notification paths Oct 1, 2026
@tisonkun
tisonkun marked this pull request as draft October 1, 2026 17:01
@tisonkun
tisonkun marked this pull request as ready for review October 2, 2026 10:13
@tisonkun
tisonkun merged commit 4b8fdd5 into apache:main Oct 2, 2026
9 checks passed
@tisonkun
tisonkun deleted the codex/waker-panic-docs branch October 2, 2026 10: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