diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2024-04-02 22:40:59 +0200 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2024-04-02 22:40:59 +0200 |
commit | 89e193c1ab8184f74b2b40f3822e544d5e0d5163 (patch) | |
tree | dae862e629bd499c3d7f344ebeab938781e913a6 /crates/runner/src/lib.rs | |
parent | 1e8875b6437f3b3a1505e25dde8e352d232b09fa (diff) | |
download | rebel-89e193c1ab8184f74b2b40f3822e544d5e0d5163.tar rebel-89e193c1ab8184f74b2b40f3822e544d5e0d5163.zip |
Update dependencies
Diffstat (limited to 'crates/runner/src/lib.rs')
-rw-r--r-- | crates/runner/src/lib.rs | 15 |
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() |