bytecodealliance / rustix

Safe Rust bindings to POSIX-ish APIs
Other
1.4k stars 139 forks source link

aarch64 linux: `dup2_stdout(stdout())` closes stdout #1067

Closed 0f-0b closed 1 month ago

0f-0b commented 1 month ago

This program panics with a “Bad file descriptor” error on line 2 because stdout is closed on line 1.

use rustix::io::fcntl_getfd;
use rustix::stdio::{dup2_stdout, stdout};

fn main() {
    let _ = dup2_stdout(stdout()); // 1
    fcntl_getfd(stdout()).unwrap(); // 2
}
[dependencies]
rustix = { version = "0.38.34", features = ["stdio"] }