← All docs
pcntl_waitid() — internals
Compiler internals for pcntl_waitid(): lowering path, type checks, and runtime helpers.
pcntl_waitid() — internals
Where it lives
- Signature:
src/builtins/system/pcntl_waitid.rs - Lowering:
src/builtins/semantics.rs:639 (lower_registry_call) - Function symbol:
lower_registry_call()
Lowering notes
- Uses the
runtime_callstrategy from the single-source builtin descriptor. - Emits the typed EIR target
runtime.pcntl.waitidthroughBuiltinLoweringContext. - The backend resolves that typed target through
src/codegen/lower_inst/runtime_calls.rs; PHP builtin names do not participate in dispatch.
Semantic descriptor
- Target strategy:
runtime_call - Validation:
checker_hook - Result type source:
checked - Result ownership:
non_heap - Effects:
static (4 declared effects) - Requirements:
static (1 requirements) - Callable policy:
static_only - Target support:
macos-aarch64,linux-aarch64,linux-x86_64
EIR and runtime boundary
- Typed EIR target:
runtime.pcntl.waitid - Backend boundary:
src/codegen/lower_inst/runtime_calls.rsresolves the typed target without PHP-name dispatch.
Signature summary
function pcntl_waitid(int $idtype = 0, int $id = null, mixed $info = [], int $flags = 4, mixed $resource_usage = []): bool
What the type checker enforces
- Arity: takes 0–5 arguments (5 optional).
- By-reference parameters:
$info,$resource_usage.
Eval interpreter (magician)
- Declaration:
crates/elephc-magician/src/interpreter/builtins/pcntl/pcntl_waitid.rs(eval_builtin!) - Execution: Magician interpreter adapter.
- Adapter reason:
by-reference-or-lvalue. - Dispatch hooks:
direct,values - By-reference parameters:
$info,$resource_usage.