autocommit 2022-05-01 21:44:09 CEST
This commit is contained in:
parent
cca3850800
commit
04580c4aeb
38 changed files with 815 additions and 124 deletions
|
|
@ -42,19 +42,23 @@ impl ClientMem {
|
|||
}
|
||||
}
|
||||
}
|
||||
let data = unsafe {
|
||||
let data = c::mmap64(
|
||||
ptr::null_mut(),
|
||||
len,
|
||||
c::PROT_READ | c::PROT_WRITE,
|
||||
c::MAP_SHARED,
|
||||
fd,
|
||||
0,
|
||||
);
|
||||
if data == c::MAP_FAILED {
|
||||
return Err(ClientMemError::MmapFailed(uapi::Errno::default().into()));
|
||||
let data = if len == 0 {
|
||||
&mut [][..]
|
||||
} else {
|
||||
unsafe {
|
||||
let data = c::mmap64(
|
||||
ptr::null_mut(),
|
||||
len,
|
||||
c::PROT_READ | c::PROT_WRITE,
|
||||
c::MAP_SHARED,
|
||||
fd,
|
||||
0,
|
||||
);
|
||||
if data == c::MAP_FAILED {
|
||||
return Err(ClientMemError::MmapFailed(uapi::Errno::default().into()));
|
||||
}
|
||||
std::slice::from_raw_parts_mut(data as *mut Cell<u8>, len)
|
||||
}
|
||||
std::slice::from_raw_parts_mut(data as *mut Cell<u8>, len)
|
||||
};
|
||||
Ok(Self {
|
||||
failed: Cell::new(false),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue