Skip to content

Commit 7557460

Browse files
authored
Update to rustix 1.1 (#8)
Using an old version was accidental, definitely don't want two versions of rustix in the dependency graph. Signed-off-by: Colin Walters <walters@verbum.org>
1 parent 839f6b4 commit 7557460

2 files changed

Lines changed: 11 additions & 7 deletions

File tree

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ unexpected_cfgs = { level = "warn", check-cfg = ['cfg(kani)'] }
1313
[dependencies]
1414
serde = { version = "1.0", features = ["derive"] }
1515
serde_json = "1.0"
16-
rustix = { version = "0.38", features = ["net"] }
16+
rustix = { version = "1.1", features = ["net"] }
1717
thiserror = "1.0"
1818
tokio = { version = "1.40", features = ["full"] }
1919
tracing = "0.1"

src/transport.rs

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ use rustix::net::{
88
use serde::Serialize;
99
use std::collections::VecDeque;
1010
use std::io::{self, IoSlice, IoSliceMut};
11+
use std::mem::MaybeUninit;
1112
use std::num::NonZeroUsize;
1213
use std::os::unix::io::OwnedFd;
1314
use std::sync::Arc;
@@ -161,9 +162,11 @@ impl Sender {
161162
// Send with FDs using sendmsg with ancillary data
162163
let borrowed_fds: Vec<_> = fds_batch.iter().map(|fd| fd.as_fd()).collect();
163164

164-
let mut buffer: Vec<u8> =
165-
vec![0u8; rustix::cmsg_space!(ScmRights(MAX_FDS_PER_RECVMSG))];
166-
let mut control = SendAncillaryBuffer::new(buffer.as_mut_slice());
165+
let mut buffer: [MaybeUninit<u8>;
166+
rustix::cmsg_space!(ScmRights(MAX_FDS_PER_RECVMSG))] =
167+
[MaybeUninit::uninit();
168+
rustix::cmsg_space!(ScmRights(MAX_FDS_PER_RECVMSG))];
169+
let mut control = SendAncillaryBuffer::new(&mut buffer);
167170

168171
if !control.push(SendAncillaryMessage::ScmRights(&borrowed_fds)) {
169172
return Err(io::Error::other(
@@ -358,9 +361,10 @@ impl Receiver {
358361
let sockfd = self.stream.as_fd();
359362

360363
let mut iov = [IoSliceMut::new(&mut data_buffer)];
361-
let mut cmsg_space: Vec<u8> =
362-
vec![0u8; rustix::cmsg_space!(ScmRights(MAX_FDS_PER_RECVMSG))];
363-
let mut cmsg_buffer = RecvAncillaryBuffer::new(cmsg_space.as_mut_slice());
364+
let mut cmsg_space: [MaybeUninit<u8>;
365+
rustix::cmsg_space!(ScmRights(MAX_FDS_PER_RECVMSG))] =
366+
[MaybeUninit::uninit(); rustix::cmsg_space!(ScmRights(MAX_FDS_PER_RECVMSG))];
367+
let mut cmsg_buffer = RecvAncillaryBuffer::new(&mut cmsg_space);
364368

365369
let result = rustix::net::recvmsg(
366370
sockfd,

0 commit comments

Comments
 (0)