diff --git a/Cargo.lock b/Cargo.lock index 317fe6940..b17465195 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -944,7 +944,7 @@ dependencies = [ "log", "luahelper", "mlua", - "nix 0.26.4", + "nix", "notify", "once_cell", "ordered-float", @@ -2049,7 +2049,7 @@ dependencies = [ "fnv", "gl_generator", "lazy_static", - "memoffset 0.9.1", + "memoffset", "smallvec", "takeable-option", ] @@ -2600,7 +2600,7 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b694dc9f70c3bda874626d2aed13b780f137aab435f4e9814121955cf706122e" dependencies = [ - "memoffset 0.9.1", + "memoffset", ] [[package]] @@ -3048,7 +3048,7 @@ version = "1.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5aa12182b93606fff55b70a5cfe6130eaf7407c2ea4f2c2bcc8b113b67c9928f" dependencies = [ - "nix 0.28.0", + "nix", "winapi", ] @@ -3116,24 +3116,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a64a92489e2744ce060c349162be1c5f33c6969234104dbd99ddb5feb08b8c15" -[[package]] -name = "memoffset" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg", -] - -[[package]] -name = "memoffset" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" -dependencies = [ - "autocfg", -] - [[package]] name = "memoffset" version = "0.9.1" @@ -3270,7 +3252,7 @@ dependencies = [ "metrics", "mlua", "names", - "nix 0.25.1", + "nix", "ntapi", "parking_lot 0.12.2", "percent-encoding", @@ -3376,33 +3358,6 @@ version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" -[[package]] -name = "nix" -version = "0.25.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4" -dependencies = [ - "autocfg", - "bitflags 1.3.2", - "cfg-if", - "libc", - "memoffset 0.6.5", - "pin-utils", -] - -[[package]] -name = "nix" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" -dependencies = [ - "bitflags 1.3.2", - "cfg-if", - "libc", - "memoffset 0.7.1", - "pin-utils", -] - [[package]] name = "nix" version = "0.28.0" @@ -3413,7 +3368,7 @@ dependencies = [ "cfg-if", "cfg_aliases", "libc", - "memoffset 0.9.1", + "memoffset", ] [[package]] @@ -4049,7 +4004,7 @@ dependencies = [ "lazy_static", "libc", "log", - "nix 0.25.1", + "nix", "serde", "serde_derive", "serial", @@ -5144,7 +5099,7 @@ dependencies = [ "lazycell", "libc", "mach2", - "nix 0.28.0", + "nix", "num-traits", "uom", "winapi", @@ -5405,7 +5360,7 @@ dependencies = [ "libc", "log", "memmem", - "nix 0.26.4", + "nix", "num-derive 0.3.3", "num-traits", "ordered-float", @@ -5792,7 +5747,7 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9" dependencies = [ - "memoffset 0.9.1", + "memoffset", "tempfile", "winapi", ] @@ -7340,7 +7295,7 @@ dependencies = [ "futures-sink", "futures-util", "hex", - "nix 0.28.0", + "nix", "ordered-stream", "rand", "serde", diff --git a/config/Cargo.toml b/config/Cargo.toml index 5ac9f79a3..4328da90d 100644 --- a/config/Cargo.toml +++ b/config/Cargo.toml @@ -46,7 +46,7 @@ wezterm-ssh = { path = "../wezterm-ssh" } wezterm-term = { path = "../term", features=["use_serde"] } [target."cfg(unix)".dependencies] -nix = "0.26" +nix = {version="0.28", features=["resource"]} [target."cfg(windows)".dependencies] winapi = { version = "0.3", features = ["winuser"]} diff --git a/mux/Cargo.toml b/mux/Cargo.toml index 8083df507..f34958257 100644 --- a/mux/Cargo.toml +++ b/mux/Cargo.toml @@ -28,7 +28,7 @@ luahelper = { path = "../luahelper" } metrics = "0.22" mlua = "0.9" names = { version = "0.12", default-features = false } -nix = {version="0.25", features=["term"]} +nix = {version="0.28", features=["term"]} parking_lot = "0.12" percent-encoding = "2" portable-pty = { path = "../pty", features = ["serde_support"]} diff --git a/pty/Cargo.toml b/pty/Cargo.toml index 8da92c3d8..46e2f36e4 100644 --- a/pty/Cargo.toml +++ b/pty/Cargo.toml @@ -14,7 +14,7 @@ downcast-rs = "1.0" filedescriptor = { version="0.8", path = "../filedescriptor" } log = "0.4" libc = "0.2" -nix = {version="0.25", features=["term"]} +nix = {version="0.28", features=["term", "fs"]} shell-words = "1.1" serde_derive = {version="1.0", optional=true} serde = {version="1.0", optional=true} diff --git a/pty/src/unix.rs b/pty/src/unix.rs index cbe0f76fb..2fd7207a7 100644 --- a/pty/src/unix.rs +++ b/pty/src/unix.rs @@ -7,6 +7,7 @@ use libc::{self, winsize}; use std::cell::RefCell; use std::ffi::OsStr; use std::io::{Read, Write}; +use std::os::fd::AsFd; use std::os::unix::ffi::OsStrExt; use std::os::unix::io::{AsRawFd, FromRawFd}; use std::os::unix::process::CommandExt; @@ -378,7 +379,7 @@ impl MasterPty for UnixMasterPty { } fn get_termios(&self) -> Option { - nix::sys::termios::tcgetattr(self.fd.0.as_raw_fd()).ok() + nix::sys::termios::tcgetattr(self.fd.0.as_fd()).ok() } } diff --git a/termwiz/Cargo.toml b/termwiz/Cargo.toml index a9344df99..bf9955bab 100644 --- a/termwiz/Cargo.toml +++ b/termwiz/Cargo.toml @@ -67,7 +67,7 @@ version = "0.3" [target."cfg(unix)".dependencies] signal-hook = "0.3" termios = "0.3" -nix = "0.26" +nix = {version="0.28", features=["mman"]} [target."cfg(windows)".dependencies.winapi] features = [ diff --git a/termwiz/src/escape/apc.rs b/termwiz/src/escape/apc.rs index 78e2b9c3d..c9c0e2d60 100644 --- a/termwiz/src/escape/apc.rs +++ b/termwiz/src/escape/apc.rs @@ -273,9 +273,8 @@ fn read_shared_memory_data( ) -> std::result::Result, std::io::Error> { use nix::sys::mman::{shm_open, shm_unlink}; use std::fs::File; - use std::os::unix::io::FromRawFd; - let raw_fd = shm_open( + let fd = shm_open( name, nix::fcntl::OFlag::O_RDONLY, nix::sys::stat::Mode::empty(), @@ -287,7 +286,7 @@ fn read_shared_memory_data( format!("shm_open {} failed: {:#}", name, err), ) })?; - let mut f = unsafe { File::from_raw_fd(raw_fd) }; + let mut f = File::from(fd); if let Some(offset) = data_offset { f.seek(std::io::SeekFrom::Start(offset.into()))?; }