Skip to content
Beskid Platform specification

Beskid

Jump to a Beskid service

Beskid

Jump to a Beskid service

Blocking syscalls park the calling fiber

Platform spec ADR

Blocking syscalls park the calling fiber

Spec standingStandard

Owner
Piotr Mikstacki
Submitter
Piotr Mikstacki

Blocking read/write on a fiber must not freeze the entire M:N scheduler or violate Phase A mutator rules on pool threads.

RuleDetail
Blocking pathEnqueue host blocking work on syscall pool; park current fiber only
WakeResume fiber on scheduler thread when worker completes
Pool workersMust not execute generated Beskid mutator code or allocate as mutators
Pool worker taggingEach pool thread calls set_syscall_pool_worker() so the runtime can assert this rule (assert_mutator_allowed) and panic on accidental allocation
AllocationRuntime object creation for results happens after resume on scheduler thread
ConsoleProducers Send bytes/events; consumers Receive on fibers

M6+ syscall integration is required for conformance on blocking builtins.

Scheduler run_blocking; fiber scheduler verification article.