ignore sighup to let void outlive the shim
This commit is contained in:
parent
398c604850
commit
1486fc7418
@ -10,7 +10,7 @@ use std::path::{Path, PathBuf};
|
|||||||
|
|
||||||
use nix::mount::{mount, umount2, MntFlags, MsFlags};
|
use nix::mount::{mount, umount2, MntFlags, MsFlags};
|
||||||
use nix::sched::unshare;
|
use nix::sched::unshare;
|
||||||
use nix::sys::signal::Signal;
|
use nix::sys::signal::{signal, SigHandler, Signal};
|
||||||
use nix::unistd::{pivot_root, Pid};
|
use nix::unistd::{pivot_root, Pid};
|
||||||
|
|
||||||
use close_fds::CloseFdsBuilder;
|
use close_fds::CloseFdsBuilder;
|
||||||
@ -57,6 +57,13 @@ impl VoidBuilder {
|
|||||||
})?;
|
})?;
|
||||||
|
|
||||||
if child == Pid::from_raw(0) {
|
if child == Pid::from_raw(0) {
|
||||||
|
// ignore SIGHUP
|
||||||
|
// safety: safe as ignores the return result of the previous handler
|
||||||
|
unsafe { signal(Signal::SIGHUP, SigHandler::SigIgn) }.map_err(|e| Error::Nix {
|
||||||
|
msg: "signal",
|
||||||
|
src: e,
|
||||||
|
})?;
|
||||||
|
|
||||||
let result = {
|
let result = {
|
||||||
self.void_files()?;
|
self.void_files()?;
|
||||||
self.void_mount_namespace()?;
|
self.void_mount_namespace()?;
|
||||||
|
Loading…
Reference in New Issue
Block a user