Skip to content

Commit 52a8a18

Browse files
committed
chore: bump jobserver to respects --jobserver-style=fifo'
See rust-lang/jobserver-rs#49
1 parent 65cab34 commit 52a8a18

File tree

2 files changed

+18
-10
lines changed

2 files changed

+18
-10
lines changed

Cargo.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,3 +115,7 @@ doc = false
115115
vendored-openssl = ["openssl/vendored"]
116116
vendored-libgit2 = ["libgit2-sys/vendored"]
117117
pretty-env-logger = ["pretty_env_logger"]
118+
119+
# Temporary patch. Will remove once the upstream PR gets merged.
120+
[patch.crates-io]
121+
jobserver = { git = "https://github.com/weihanglo/jobserver-rs", branch = "jobserver-style-fifo" }

tests/testsuite/jobserver.rs

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,20 +22,24 @@ fn main() {
2222
2323
#[cfg(unix)]
2424
fn validate(s: &str) {
25-
use std::fs::File;
25+
use std::fs::{self, File};
2626
use std::io::*;
2727
use std::os::unix::prelude::*;
2828
29-
let fds = s.split(',').collect::<Vec<_>>();
30-
println!("{}", s);
31-
assert_eq!(fds.len(), 2);
32-
unsafe {
33-
let mut read = File::from_raw_fd(fds[0].parse().unwrap());
34-
let mut write = File::from_raw_fd(fds[1].parse().unwrap());
29+
if let Some((r, w)) = s.split_once(',') {
30+
// `--jobserver-auth=R,W`
31+
unsafe {
32+
let mut read = File::from_raw_fd(r.parse().unwrap());
33+
let mut write = File::from_raw_fd(w.parse().unwrap());
3534
36-
let mut buf = [0];
37-
assert_eq!(read.read(&mut buf).unwrap(), 1);
38-
assert_eq!(write.write(&buf).unwrap(), 1);
35+
let mut buf = [0];
36+
assert_eq!(read.read(&mut buf).unwrap(), 1);
37+
assert_eq!(write.write(&buf).unwrap(), 1);
38+
}
39+
} else {
40+
// `--jobserver-auth=fifo:PATH` is the default since GNU Make 4.4
41+
let (_, path) = s.split_once(':').expect("fifo:PATH");
42+
assert!(fs::metadata(path).unwrap().file_type().is_fifo());
3943
}
4044
}
4145

0 commit comments

Comments
 (0)