563fb8e43d
Support F_DUPFD on stdin/stdout/stderr Enable `close`-ing stdin/stdout/stderr For `dup`, check if FD is `File` first If not, clone the appropriate standard IO stream Merge POSIX `close` and `dup` tests into same module Also, add assertion that `write` on a closed FD returns an error. Add `dup` as FileDescriptor trait fn Also: - Fix `close` so it drops `self` instead of reference to it - Remove FD clamping in insert_fd_with_min_fd, since FDs 0-2 can be closed Fix fs_libc tests Make error message when closing stdin/out/err more specific Return io::Result from `FileDescriptor::dup` Change error message when closing stdin/out/err Refactor `FileDescriptor::dup` impl for `FileHandle` Remove empty line
15 lines
315 B
Rust
15 lines
315 B
Rust
// ignore-windows: No libc on Windows
|
|
// compile-flags: -Zmiri-disable-isolation
|
|
|
|
// FIXME: standard handles cannot be closed (https://github.com/rust-lang/rust/issues/40032)
|
|
|
|
#![feature(rustc_private)]
|
|
|
|
extern crate libc;
|
|
|
|
fn main() {
|
|
unsafe {
|
|
libc::close(1); //~ ERROR stdout cannot be closed
|
|
}
|
|
}
|