refactor: Reimplement recvmsg and sendmsg using bulk fd passing.

This commit is contained in:
Ibuki Omatsu
2026-02-08 02:48:59 +00:00
committed by Jeremy Soller
parent 3724e7892d
commit 94b0cfc682
4 changed files with 70 additions and 30 deletions
+5 -5
View File
@@ -63,7 +63,7 @@ impl Dev {
) -> Result<c_int> {
let mut data = unsafe { buf.read::<T>() }?;
let mut wire = unsafe { data.write() };
let res = redox_rt::sys::sys_call(
let res = redox_rt::sys::sys_call_rw(
self.fd as usize,
&mut wire,
syscall::CallFlags::empty(),
@@ -75,11 +75,11 @@ impl Dev {
}
unsafe fn write_ioctl<T: IoctlData>(&self, mut buf: IoctlBuffer, func: u64) -> Result<c_int> {
let mut data = unsafe { buf.read::<T>() }?;
let mut wire = unsafe { data.write() };
let res = redox_rt::sys::sys_call(
let data = unsafe { buf.read::<T>() }?;
let wire = unsafe { data.write() };
let res = redox_rt::sys::sys_call_wo(
self.fd as usize,
&mut wire,
&wire,
syscall::CallFlags::empty(),
&[func],
)?;