summaryrefslogtreecommitdiffstats
path: root/crates/runner/src/lib.rs
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2024-04-02 22:40:59 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2024-04-02 22:40:59 +0200
commit89e193c1ab8184f74b2b40f3822e544d5e0d5163 (patch)
treedae862e629bd499c3d7f344ebeab938781e913a6 /crates/runner/src/lib.rs
parent1e8875b6437f3b3a1505e25dde8e352d232b09fa (diff)
downloadrebel-89e193c1ab8184f74b2b40f3822e544d5e0d5163.tar
rebel-89e193c1ab8184f74b2b40f3822e544d5e0d5163.zip
Update dependencies
Diffstat (limited to 'crates/runner/src/lib.rs')
-rw-r--r--crates/runner/src/lib.rs15
1 files changed, 11 insertions, 4 deletions
diff --git a/crates/runner/src/lib.rs b/crates/runner/src/lib.rs
index 308b54c..bcaa9db 100644
--- a/crates/runner/src/lib.rs
+++ b/crates/runner/src/lib.rs
@@ -17,6 +17,7 @@ use std::{
use capctl::prctl;
use nix::{
errno::Errno,
+ fcntl::Flock,
poll,
sched::CloneFlags,
sys::{
@@ -99,7 +100,13 @@ fn borrow_socket_fd(socket: &UnixSeqpacketConn) -> BorrowedFd<'_> {
unsafe { BorrowedFd::borrow_raw(socket.as_raw_fd()) }
}
-fn runner(uid: Uid, gid: Gid, socket: UnixSeqpacketConn, _lockfile: File, options: &Options) -> ! {
+fn runner(
+ uid: Uid,
+ gid: Gid,
+ socket: UnixSeqpacketConn,
+ _lockfile: Flock<File>,
+ options: &Options,
+) -> ! {
ns::mount_proc();
ns::setup_userns(Uid::from_raw(0), Gid::from_raw(0), uid, gid);
@@ -127,10 +134,10 @@ fn runner(uid: Uid, gid: Gid, socket: UnixSeqpacketConn, _lockfile: File, option
loop {
let socket_fd = borrow_socket_fd(&ctx.socket);
let mut pollfds = [
- poll::PollFd::new(&signal_fd, poll::PollFlags::POLLIN),
- poll::PollFd::new(&socket_fd, poll::PollFlags::POLLIN),
+ poll::PollFd::new(signal_fd.as_fd(), poll::PollFlags::POLLIN),
+ poll::PollFd::new(socket_fd.as_fd(), poll::PollFlags::POLLIN),
];
- poll::poll(&mut pollfds, -1).expect("poll()");
+ poll::poll(&mut pollfds, poll::PollTimeout::NONE).expect("poll()");
let signal_events = pollfds[0]
.revents()