Skip to content

feat(kernel): add scheduler wakeup channel - #39

Merged
MikiEEE merged 3 commits into
developfrom
feat/issue-37-scheduler-wakeup
Aug 22, 2026
Merged

feat(kernel): add scheduler wakeup channel#39
MikiEEE merged 3 commits into
developfrom
feat/issue-37-scheduler-wakeup

Conversation

@MikiEEE

@MikiEEE MikiEEE commented Aug 22, 2026

Copy link
Copy Markdown
Owner

Summary

  • add an opaque kernel-owned cross-thread scheduler wakeup channel
  • implement Unix support with a nonblocking socket pair and coalesced notifications
  • bound interrupted send and drain attempts
  • preserve observable EOF or retryability across notification failures
  • reject invalid socket-pair endpoints before consumer startup and clean partial construction exactly once
  • keep generic MicroPython support explicitly disabled unless a port can honor the complete contract
  • verify repeated wakeups interrupt an already-entered persistent wait

Review

Independent adversarial review found two medium issues: incomplete endpoint preflight and a cross-thread test that could notify before the scheduler blocked. Both were fixed and targeted re-review approved. The critic pass additionally hardened invalid send-result handling. No blocking findings remain.

Validation

  • 134 unit tests passed
  • focused kernel and runtime wakeup tests passed
  • package, test, and demo compilation passed
  • git diff --check passed
  • local Pyright, coverage, and PEP 517 build tooling were unavailable; GitHub CI is authoritative for those gates

Residual risk

Thread scheduling remains platform-dependent, though the test now synchronizes notification from the registered persistent-wait path.

Closes #37

@MikiEEE
MikiEEE merged commit 3ccef27 into develop Aug 22, 2026
16 checks passed
MikiEEE added a commit that referenced this pull request Aug 23, 2026
feat(kernel): add scheduler wakeup channel
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