Fix *-win7-windows-msvc target since 26eeac1a1e
(cherry picked from commit 35febd7a6d)
This commit is contained in:
parent
935005bf0a
commit
f32d360dc7
4 changed files with 8 additions and 8 deletions
|
|
@ -204,7 +204,7 @@ compat_fn_with_fallback! {
|
|||
pub fn NtReleaseKeyedEvent(
|
||||
EventHandle: HANDLE,
|
||||
Key: *const c_void,
|
||||
Alertable: BOOLEAN,
|
||||
Alertable: bool,
|
||||
Timeout: *mut i64
|
||||
) -> NTSTATUS {
|
||||
panic!("keyed events not available")
|
||||
|
|
@ -213,7 +213,7 @@ compat_fn_with_fallback! {
|
|||
pub fn NtWaitForKeyedEvent(
|
||||
EventHandle: HANDLE,
|
||||
Key: *const c_void,
|
||||
Alertable: BOOLEAN,
|
||||
Alertable: bool,
|
||||
Timeout: *mut i64
|
||||
) -> NTSTATUS {
|
||||
panic!("keyed events not available")
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ pub fn fill_bytes(mut bytes: &mut [u8]) {
|
|||
while !bytes.is_empty() {
|
||||
let len = bytes.len().try_into().unwrap_or(u32::MAX);
|
||||
let ret = unsafe { c::RtlGenRandom(bytes.as_mut_ptr().cast(), len) };
|
||||
assert_ne!(ret, 0, "failed to generate random data");
|
||||
assert!(ret, "failed to generate random data");
|
||||
bytes = &mut bytes[len as usize..];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ impl Mutex {
|
|||
|
||||
#[inline]
|
||||
pub fn try_lock(&self) -> bool {
|
||||
unsafe { c::TryAcquireSRWLockExclusive(raw(self)) != 0 }
|
||||
unsafe { c::TryAcquireSRWLockExclusive(raw(self)) }
|
||||
}
|
||||
|
||||
#[inline]
|
||||
|
|
|
|||
|
|
@ -195,7 +195,7 @@ mod keyed_events {
|
|||
|
||||
pub unsafe fn park(parker: Pin<&Parker>) {
|
||||
// Wait for unpark() to produce this event.
|
||||
c::NtWaitForKeyedEvent(keyed_event_handle(), parker.ptr(), 0, ptr::null_mut());
|
||||
c::NtWaitForKeyedEvent(keyed_event_handle(), parker.ptr(), false, ptr::null_mut());
|
||||
// Set the state back to EMPTY (from either PARKED or NOTIFIED).
|
||||
// Note that we don't just write EMPTY, but use swap() to also
|
||||
// include an acquire-ordered read to synchronize with unpark()'s
|
||||
|
|
@ -218,7 +218,7 @@ mod keyed_events {
|
|||
|
||||
// Wait for unpark() to produce this event.
|
||||
let unparked =
|
||||
c::NtWaitForKeyedEvent(handle, parker.ptr(), 0, &mut timeout) == c::STATUS_SUCCESS;
|
||||
c::NtWaitForKeyedEvent(handle, parker.ptr(), false, &mut timeout) == c::STATUS_SUCCESS;
|
||||
|
||||
// Set the state back to EMPTY (from either PARKED or NOTIFIED).
|
||||
let prev_state = parker.state.swap(EMPTY, Acquire);
|
||||
|
|
@ -228,7 +228,7 @@ mod keyed_events {
|
|||
// was set to NOTIFIED, which means we *just* missed an
|
||||
// unpark(), which is now blocked on us to wait for it.
|
||||
// Wait for it to consume the event and unblock that thread.
|
||||
c::NtWaitForKeyedEvent(handle, parker.ptr(), 0, ptr::null_mut());
|
||||
c::NtWaitForKeyedEvent(handle, parker.ptr(), false, ptr::null_mut());
|
||||
}
|
||||
}
|
||||
pub unsafe fn unpark(parker: Pin<&Parker>) {
|
||||
|
|
@ -239,7 +239,7 @@ mod keyed_events {
|
|||
// To prevent this thread from blocking indefinitely in that case,
|
||||
// park_impl() will, after seeing the state set to NOTIFIED after
|
||||
// waking up, call NtWaitForKeyedEvent again to unblock us.
|
||||
c::NtReleaseKeyedEvent(keyed_event_handle(), parker.ptr(), 0, ptr::null_mut());
|
||||
c::NtReleaseKeyedEvent(keyed_event_handle(), parker.ptr(), false, ptr::null_mut());
|
||||
}
|
||||
|
||||
fn keyed_event_handle() -> c::HANDLE {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue