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/jobserver.rs | |
parent | 1e8875b6437f3b3a1505e25dde8e352d232b09fa (diff) | |
download | rebel-89e193c1ab8184f74b2b40f3822e544d5e0d5163.tar rebel-89e193c1ab8184f74b2b40f3822e544d5e0d5163.zip |
Update dependencies
Diffstat (limited to 'crates/runner/src/jobserver.rs')
-rw-r--r-- | crates/runner/src/jobserver.rs | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/crates/runner/src/jobserver.rs b/crates/runner/src/jobserver.rs index 2422a75..b0b88cd 100644 --- a/crates/runner/src/jobserver.rs +++ b/crates/runner/src/jobserver.rs @@ -1,5 +1,5 @@ use std::{ - os::fd::{AsRawFd, FromRawFd, OwnedFd}, + os::fd::{AsFd, AsRawFd, OwnedFd}, slice, }; @@ -18,13 +18,10 @@ pub struct Jobserver { impl Jobserver { pub fn new(tokens: usize) -> Result<Jobserver> { - let (piper, pipew) = - unistd::pipe2(OFlag::O_CLOEXEC | OFlag::O_NONBLOCK).context("pipe()")?; - let r = unsafe { OwnedFd::from_raw_fd(piper) }; - let w = unsafe { OwnedFd::from_raw_fd(pipew) }; + let (r, w) = unistd::pipe2(OFlag::O_CLOEXEC | OFlag::O_NONBLOCK).context("pipe()")?; for _ in 0..tokens { - if unistd::write(w.as_raw_fd(), b"+").is_err() { + if unistd::write(w.as_fd(), b"+").is_err() { break; } } @@ -36,8 +33,8 @@ impl Jobserver { pub fn wait(&mut self) -> u8 { loop { poll::poll( - &mut [poll::PollFd::new(&self.r, poll::PollFlags::POLLIN)], - -1, + &mut [poll::PollFd::new(self.r.as_fd(), poll::PollFlags::POLLIN)], + poll::PollTimeout::NONE, ) .expect("poll()"); @@ -59,7 +56,7 @@ impl Jobserver { } pub fn post(&mut self, token: u8) { - let n = unistd::write(self.w.as_raw_fd(), slice::from_ref(&token)).expect("write()"); + let n = unistd::write(self.w.as_fd(), slice::from_ref(&token)).expect("write()"); assert!(n == 1); } |