Sha256: fa35d5b6adb83a8442ec06b08f3d30631ac7b8513f3cf8b3986d27b7ee58cf93
Contents?: true
Size: 783 Bytes
Versions: 22
Compression:
Stored size: 783 Bytes
Contents
use crate::windows_sys::{CreatePipe, INVALID_HANDLE_VALUE}; use std::{fs::File, io, os::windows::prelude::*, ptr}; /// NOTE: These pipes do not support IOCP. /// /// If IOCP is needed, then you might want to emulate /// anonymous pipes with CreateNamedPipe, as Rust's stdlib does. pub(super) fn pipe() -> io::Result<(File, File)> { let mut read_pipe = INVALID_HANDLE_VALUE; let mut write_pipe = INVALID_HANDLE_VALUE; let ret = unsafe { CreatePipe(&mut read_pipe, &mut write_pipe, ptr::null_mut(), 0) }; if ret == 0 { Err(io::Error::last_os_error()) } else { unsafe { Ok(( File::from_raw_handle(read_pipe as RawHandle), File::from_raw_handle(write_pipe as RawHandle), )) } } }
Version data entries
22 entries across 22 versions & 1 rubygems