Skip to main content

OsSubprocessRuntime

Struct OsSubprocessRuntime 

Source
pub struct OsSubprocessRuntime { /* private fields */ }
Expand description

Default implementation using std::process::Command.

Implementations§

Source§

impl OsSubprocessRuntime

Source

pub fn new() -> OsSubprocessRuntime

Create a new OS subprocess runtime with no timeout.

Source

pub fn with_timeout(timeout_secs: u64) -> OsSubprocessRuntime

Create a new OS subprocess runtime with the given wall-clock timeout.

If the subprocess does not complete within timeout_secs seconds the call returns a SubprocessError with a “timed out” message. The spawned process is left for the OS to reap — it is not explicitly killed.

§Stdin size caveat

Stdin data is written synchronously before the timeout poll loop begins. If the subprocess hangs before consuming stdin and the data exceeds the OS pipe buffer (~64 KiB on Linux), run_command will block in the write phase and the timeout will not fire. For typical Perl source files this is not a concern.

§Panics

Panics if timeout_secs is zero (a zero-second timeout would time out every command immediately and is almost certainly a caller bug).

Trait Implementations§

Source§

impl Default for OsSubprocessRuntime

Available on non-WebAssembly only.
Source§

fn default() -> OsSubprocessRuntime

Returns the “default value” for a type. Read more
Source§

impl SubprocessRuntime for OsSubprocessRuntime

Available on non-WebAssembly only.
Source§

fn run_command( &self, program: &str, args: &[&str], stdin: Option<&[u8]>, ) -> Result<SubprocessOutput, SubprocessError>

Execute a command with the given arguments and optional stdin.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more