summaryrefslogtreecommitdiffstats
path: root/crates/runner/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/runner/src/lib.rs')
-rw-r--r--crates/runner/src/lib.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/crates/runner/src/lib.rs b/crates/runner/src/lib.rs
index 9ca6c23..cfaf658 100644
--- a/crates/runner/src/lib.rs
+++ b/crates/runner/src/lib.rs
@@ -19,7 +19,11 @@ use nix::{
errno::Errno,
poll,
sched::CloneFlags,
- sys::{signal, signalfd::SignalFd, stat, wait},
+ sys::{
+ signal,
+ signalfd::{SfdFlags, SignalFd},
+ stat, wait,
+ },
unistd::{self, Gid, Pid, Uid},
};
use uds::UnixSeqpacketConn;
@@ -113,7 +117,8 @@ fn runner(uid: Uid, gid: Gid, socket: UnixSeqpacketConn, _lockfile: File, option
signals.add(signal::Signal::SIGCHLD);
signal::pthread_sigmask(signal::SigmaskHow::SIG_BLOCK, Some(&signals), None)
.expect("pthread_sigmask()");
- let mut sfd = SignalFd::new(&signals).expect("Failed to create signal file descriptor");
+ let mut sfd = SignalFd::with_flags(&signals, SfdFlags::SFD_CLOEXEC)
+ .expect("Failed to create signal file descriptor");
let mut pollfds = [
poll::PollFd::new(sfd.as_raw_fd(), poll::PollFlags::POLLIN),