Sha256: 5b950b491b93226885c34a9070387c081f50029fdf19770bb983bca2a64aa705

Contents?: true

Size: 971 Bytes

Versions: 22

Compression:

Stored size: 971 Bytes

Contents

//! Adapted from:
//!  - https://doc.rust-lang.org/src/std/sys/unix/pipe.rs.html
//!  - https://doc.rust-lang.org/src/std/sys/unix/fd.rs.html#385
//!  - https://github.com/rust-lang/rust/blob/master/library/std/src/sys/mod.rs#L57
//!  - https://github.com/oconnor663/os_pipe.rs
use std::fs::File;

/// Open a new pipe and return a pair of [`File`] objects for the reader and writer.
///
/// This corresponds to the `pipe2` library call on Posix and the
/// `CreatePipe` library call on Windows (though these implementation
/// details might change). These pipes are non-inheritable, so new child
/// processes won't receive a copy of them unless they're explicitly
/// passed as stdin/stdout/stderr.
pub fn pipe() -> std::io::Result<(File, File)> {
    sys::pipe()
}

#[cfg(unix)]
#[path = "os_pipe/unix.rs"]
mod sys;

#[cfg(windows)]
#[path = "os_pipe/windows.rs"]
mod sys;

#[cfg(all(not(unix), not(windows)))]
compile_error!("Only unix and windows support os_pipe!");

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
wasmtime-23.0.2 ./ext/cargo-vendor/cc-1.0.83/src/os_pipe.rs
wasmtime-22.0.0 ./ext/cargo-vendor/cc-1.0.83/src/os_pipe.rs
wasmtime-21.0.1 ./ext/cargo-vendor/cc-1.0.83/src/os_pipe.rs
wasmtime-20.0.2 ./ext/cargo-vendor/cc-1.0.83/src/os_pipe.rs
wasmtime-20.0.0 ./ext/cargo-vendor/cc-1.0.83/src/os_pipe.rs
wasmtime-18.0.3 ./ext/cargo-vendor/cc-1.0.83/src/os_pipe.rs
wasmtime-17.0.1 ./ext/cargo-vendor/cc-1.0.83/src/os_pipe.rs
wasmtime-17.0.0 ./ext/cargo-vendor/cc-1.0.83/src/os_pipe.rs
wasmtime-16.0.0 ./ext/cargo-vendor/cc-1.0.83/src/os_pipe.rs
wasmtime-15.0.1 ./ext/cargo-vendor/cc-1.0.83/src/os_pipe.rs
wasmtime-15.0.0 ./ext/cargo-vendor/cc-1.0.83/src/os_pipe.rs
wasmtime-14.0.4 ./ext/cargo-vendor/cc-1.0.83/src/os_pipe.rs
wasmtime-14.0.3 ./ext/cargo-vendor/cc-1.0.83/src/os_pipe.rs
wasmtime-14.0.1 ./ext/cargo-vendor/cc-1.0.83/src/os_pipe.rs
wasmtime-14.0.0 ./ext/cargo-vendor/cc-1.0.83/src/os_pipe.rs
wasmtime-13.0.0 ./ext/cargo-vendor/cc-1.0.83/src/os_pipe.rs
wasmtime-12.0.1 ./ext/cargo-vendor/cc-1.0.83/src/os_pipe.rs
wasmtime-12.0.0 ./ext/cargo-vendor/cc-1.0.83/src/os_pipe.rs
wasmtime-11.0.0 ./ext/cargo-vendor/cc-1.0.83/src/os_pipe.rs
wasmtime-10.0.1 ./ext/cargo-vendor/cc-1.0.82/src/os_pipe.rs