Skip to main content

Module run

Module run 

Source
Expand description

Shell-free execution of a box this process has already verified.

The verified release supplies the interpreter and the script or module identity; the caller supplies only additional argument strings, streams, and environment values. Nothing is passed through a shell, and the argument vector is built from signed metadata rather than from a command string, so there is no point at which a name from a manifest could become a second command.

Signals are forwarded through a channel the caller owns, not through handlers this crate installs. A library that registered a process-wide SIGINT handler would silently displace the handler of the application embedding it — in a desktop app that is a bug, not a feature. So the seam is explicit: a caller that wants forwarding wires its own handler to a SignalSender, and a caller that does not gets a child that simply runs. The Node consumer takes the same shape through an injectable signalSource; here the injection is the only form.

Structs§

BoxInvocation
What would be spawned, once the trust chain has finished and the environment is resolved.
BoxRunResult
How a box run ended.
ProcessSpawner
Starts a real process. Never through a shell: the argument vector is passed as it was built, so a value from a manifest cannot become a second command.
RunBoxOptions
Where a one-shot run should stage the box.
RunOptions
How a box should be run.

Enums§

ForwardedSignal
A signal a caller may ask to be forwarded to the box.
StdioMode
What a child’s stream should be connected to.

Traits§

RunningBox
A box that has started and not yet finished.
SpawnBox
How a box is started. The default starts a real process; a test supplies its own.

Functions§

run_box
Verifies, extracts, runs and removes a box in one call.
run_extracted_box
Executes a prepared box with its own interpreter and returns its terminal result.

Type Aliases§

SignalReceiver
The receiving half handed to run_extracted_box.
SignalSender
The sending half a caller keeps to forward signals into a running box.