hakoniwa 1.4.0

Process isolation for Linux using namespaces, resource limits, cgroups, landlock and seccomp.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use close_fds::close_open_fds;
use std::io::{PipeReader, PipeWriter};
use std::os::fd::AsRawFd;

use super::error::*;

pub(crate) fn close_extra_fds_exclude(reader: &PipeReader, writer: &PipeWriter) -> Result<()> {
    let mut keep_fds = [reader.as_raw_fd(), writer.as_raw_fd()];
    keep_fds.sort_unstable();

    unsafe {
        close_open_fds(3, &keep_fds);
    }
    Ok(())
}