Skip to main content

Crate oxdock_process

Crate oxdock_process 

Source

Re-exports§

pub use builtin_env::BuiltinEnv;

Modules§

builtin_env
serial_cargo_env

Structs§

ChildHandle
CommandBuilder
Builder wrapper that centralizes direct usages of std::process::Command.
CommandContext
Context passed to process managers describing the current execution environment. Clones are cheap and explicit so background handles can own their working roots without juggling lifetimes.
CommandOptions
CommandOutput
CommandSnapshot
OsPipeReader
Owned OS kernel pipe reader half behind a single use slot. Clone shares the slot; take transfers the handle exactly once so no parent copy survives spawn to starve the consumer of EOF. Backed by std::io::pipe (stable since Rust 1.87): pipe on Unix, CreatePipe on Windows.
OsPipeWriter
Owned OS kernel pipe writer half behind a single use slot. See OsPipeReader for the shared slot semantics.
ShellLauncher
ShellProcessManager
Default process manager that shells out using the system shell.
StreamingExpand
Streaming template expansion state machine.
TestEnvGuard

Enums§

CommandMode
CommandResult
CommandStderr
CommandStdin
CommandStdout

Constants§

INHERIT_STDOUT_ENV_VAR
Host environment variable that forces spawned children to inherit the parent’s stdout/stderr instead of using the executor’s stream routing. Recognized values are "1" and case-insensitive "true". Set on the script environment (an ENV step or host inherit), not the process environment: the executor reads it from CommandContext::envs.
PROCESS_DEBUG_ENV_VAR
Host process-environment variable enabling eprintln! diagnostics for every spawned command (program plus argv/script). Read from the process environment at spawn time; any value (including empty) enables it.

Traits§

BackgroundHandle
Handle for background processes spawned by a ProcessManager.
ProcessManager
Abstraction for running shell commands both in the foreground and background. oxdock-core relies on this trait to decouple the executor from std::process::Command, which in turn enables Miri-friendly test doubles.

Functions§

create_os_pipe
Create a cross platform anonymous OS pipe pair for concurrent ASYNC pipelines. The caller moves each half into a spawn and drops any other copies immediately after spawning, otherwise the reader never sees EOF.
default_process_manager
expand_command_env
expand_script_env
shell_program
spawn_interactive_shell
Spawn an interactive shell rooted at cwd, printing banner before handing control to the user’s shell.

Type Aliases§

DefaultProcessManager
SharedInput
SharedOutput