Skip to content

ProcessExit

What wait() resolves to.

exitCode and nothing else on purpose, matching the harness contract’s wait(): PromiseLike<{ exitCode: number }>. A caller wanting the signal, the truncation flag, or the buffered output polls [crate::exec::ExecHandle] instead, which answers with the whole record.

optional exitCode?: number;

The child’s exit status.

null when the child died to a signal, which is where this shape and the harness’s { exitCode: number } genuinely differ, and it is deliberate. A signal death has no exit code, and the two available lies are 0 (a killed build reported as passing) and 128 + signo (a number the daemon never published, indistinguishable from a child that really exited with it). A wrapper that must produce a number can pick one at its own boundary; this handle will not pick for it.


optional signal?: number;

The signal that killed the child, when one did. Not part of the harness shape; here because it is the only thing that makes a null exit code actionable.


timedOut: boolean;

True when the remote execution deadline expired.

This page is generated from bindings/microvms-js/index.d.ts by TypeDoc 0.28.20 and typedoc-plugin-markdown 4.13.1, run from site/scripts/gen-reference.mjs on every pnpm run sync, so an edit made here is overwritten by the next run.

To change the page, change the doc comment in the binding’s Rust source, then regenerate the declarations with mise run dts. mise run dts:check fails when the committed file no longer matches the source.