Enable syscall restart in futex_wait.
This commit is contained in:
@@ -242,8 +242,9 @@ impl Pal for Sys {
|
||||
unsafe fn futex_wait(
|
||||
addr: *mut u32,
|
||||
val: u32,
|
||||
deadline: *const timespec,
|
||||
deadline: Option<×pec>,
|
||||
) -> Result<(), crate::pthread::Errno> {
|
||||
let deadline = deadline.map_or(0, |d| d as *const _ as usize);
|
||||
e_raw(unsafe {
|
||||
syscall!(
|
||||
FUTEX, addr, // uaddr
|
||||
@@ -257,11 +258,11 @@ impl Pal for Sys {
|
||||
.map(|_| ())
|
||||
}
|
||||
#[inline]
|
||||
unsafe fn futex_wake(addr: *mut u32, num: u32) -> Result<c_int, Errno> {
|
||||
unsafe fn futex_wake(addr: *mut u32, num: u32) -> Result<u32, Errno> {
|
||||
e_raw(unsafe {
|
||||
syscall!(FUTEX, addr, 1 /* FUTEX_WAKE */, num)
|
||||
})
|
||||
.map(|n| n as c_int)
|
||||
.map(|n| n as u32)
|
||||
}
|
||||
|
||||
fn futimens(fd: c_int, times: *const timespec) -> c_int {
|
||||
|
||||
Reference in New Issue
Block a user