Expand description
The process adapter: the obligations a wrapper owes its child.
Both output pipes are drained concurrently while stdin is being written,
because filling a pipe buffer while the child blocks on stdin is a
deadlock. The environment is constructed by the caller and applied over
env_clear. A child killed by signal N surfaces as 128+N, so an
interrupted setup dies the way an operator expects. Interruption reaches
the child through the shared process group — a terminal’s SIGINT is
delivered to parent and child alike — and this adapter installs no
handler of its own: forwarding a signal aimed at rk alone would need a
raw kill(2), which the crate-wide unsafe_code = "forbid" rules out.
Chunks reach the caller in arrival order, raw; redaction is the caller’s
job, because only the caller knows the secrets of the run.
Structs§
- Exec
- One spawn request, fully constructed before anything runs.
- Outcome
- What a finished child left behind.