Update to rustix 0.26.2. (#3521)

This pulls in a fix for Android, where Android's seccomp policy on older
versions is to make `openat2` irrecoverably crash the process, so we have
to do a version check up front rather than relying on `ENOSYS` to
determine if `openat2` is supported.

And it pulls in the fix for the link errors when multiple versions of
rsix/rustix are linked in.

And it has updates for two crate renamings: rsix has been renamed to
rustix, and unsafe-io has been renamed to io-extras.
This commit is contained in:
Dan Gohman
2021-11-15 10:21:13 -08:00
committed by GitHub
parent 81f6228c57
commit ea0cb971fb
25 changed files with 136 additions and 137 deletions

View File

@@ -22,13 +22,13 @@ anyhow = "1.0"
thiserror = "1.0"
wiggle = { path = "../wiggle", default-features = false, version = "=0.31.0" }
tracing = "0.1.19"
cap-std = "0.19.1"
cap-rand = "0.19.1"
cap-std = "0.21.1"
cap-rand = "0.21.1"
bitflags = "1.2"
io-lifetimes = { version = "0.3.1", default-features = false }
[target.'cfg(unix)'.dependencies]
rsix = "0.23.0"
rustix = "0.26.2"
[target.'cfg(windows)'.dependencies]
winapi = "0.3"

View File

@@ -15,17 +15,17 @@ include = ["src/**/*", "README.md", "LICENSE" ]
wasi-common = { path = "../", version = "=0.31.0" }
async-trait = "0.1"
anyhow = "1.0"
cap-std = "0.19.1"
cap-fs-ext = "0.19.1"
cap-time-ext = "0.19.1"
cap-rand = "0.19.1"
fs-set-times = "0.12.0"
system-interface = { version = "0.15.0", features = ["cap_std_impls"] }
cap-std = "0.21.1"
cap-fs-ext = "0.21.1"
cap-time-ext = "0.21.1"
cap-rand = "0.21.1"
fs-set-times = "0.13.1"
system-interface = { version = "0.16.0", features = ["cap_std_impls"] }
tracing = "0.1.19"
io-lifetimes = { version = "0.3.0", default-features = false }
io-lifetimes = { version = "0.3.3", default-features = false }
[target.'cfg(unix)'.dependencies]
rsix = "0.23.0"
rustix = "0.26.2"
[target.'cfg(windows)'.dependencies]
winapi = "0.3"

View File

@@ -1,6 +1,6 @@
use cap_std::time::Duration;
use io_lifetimes::{AsFd, BorrowedFd};
use rsix::io::{PollFd, PollFlags};
use rustix::io::{PollFd, PollFlags};
use std::convert::TryInto;
use wasi_common::{
file::WasiFile,
@@ -49,9 +49,9 @@ pub async fn poll_oneoff<'a>(poll: &mut Poll<'a>) -> Result<(), Error> {
poll_fds = tracing::field::debug(&pollfds),
"poll"
);
match rsix::io::poll(&mut pollfds, poll_timeout) {
match rustix::io::poll(&mut pollfds, poll_timeout) {
Ok(ready) => break ready,
Err(rsix::io::Error::INTR) => continue,
Err(rustix::io::Error::INTR) => continue,
Err(err) => return Err(err.into()),
}
};

View File

@@ -112,7 +112,7 @@ impl TryFrom<std::io::Error> for types::Errno {
fn try_from(err: std::io::Error) -> Result<types::Errno, Error> {
#[cfg(unix)]
fn raw_error_code(err: &std::io::Error) -> Option<types::Errno> {
use rsix::io::Error;
use rustix::io::Error;
match Error::from_io_error(err) {
Some(Error::PIPE) => Some(types::Errno::Pipe),
Some(Error::PERM) => Some(types::Errno::Perm),

View File

@@ -15,12 +15,12 @@ wasi-common = { path = "../", version = "=0.31.0" }
wasi-cap-std-sync = { path = "../cap-std-sync", version = "=0.31.0" }
wiggle = { path = "../../wiggle", version = "=0.31.0" }
tokio = { version = "1.8.0", features = [ "rt", "fs", "time", "io-util", "net", "io-std", "rt-multi-thread"] }
cap-std = "0.19.1"
cap-std = "0.21.1"
anyhow = "1"
io-lifetimes = { version = "0.3.0", default-features = false }
[target.'cfg(unix)'.dependencies]
rsix = "0.23.0"
rustix = "0.26.2"
[target.'cfg(windows)'.dependencies]
winapi = "0.3"
@@ -30,4 +30,4 @@ lazy_static = "1.4"
tempfile = "3.1.0"
tokio = { version = "1.8.0", features = [ "macros" ] }
anyhow = "1"
cap-tempfile = "0.19.1"
cap-tempfile = "0.21.1"