std: Rename Stdio::None to Stdio::Null

This better reflects what it's actually doing as we don't actually have an
option for "leave this I/O slot as an empty hole".
This commit is contained in:
Alex Crichton
2016-02-04 09:53:01 -08:00
parent 627515a7ff
commit b8bd8f3d7c
3 changed files with 15 additions and 18 deletions

View File

@@ -275,7 +275,7 @@ pub struct Process {
pub enum Stdio {
Inherit,
None,
Null,
Raw(c_int),
}
@@ -416,7 +416,7 @@ impl Process {
Stdio::Raw(fd.into_raw())
})
}
s @ Stdio::None |
s @ Stdio::Null |
s @ Stdio::Inherit |
s @ Stdio::Raw(_) => Ok(s),
}
@@ -430,12 +430,10 @@ impl Process {
Stdio::Inherit => Ok(()),
Stdio::Raw(fd) => cvt_r(|| libc::dup2(fd, dst)).map(|_| ()),
// If a stdio file descriptor is set to be ignored, we open up
// /dev/null into that file descriptor. Otherwise, the first
// file descriptor opened up in the child would be numbered as
// one of the stdio file descriptors, which is likely to wreak
// havoc.
Stdio::None => {
// Open up a reference to /dev/null with appropriate read/write
// permissions and then move it into the correct location via
// `dup2`.
Stdio::Null => {
let mut opts = OpenOptions::new();
opts.read(dst == libc::STDIN_FILENO);
opts.write(dst != libc::STDIN_FILENO);
@@ -590,7 +588,7 @@ mod tests {
let cat = t!(Process::spawn(&cmd, Stdio::Raw(stdin_read.raw()),
Stdio::Raw(stdout_write.raw()),
Stdio::None));
Stdio::Null));
drop(stdin_read);
drop(stdout_write);