Remove LPVOID · model-checking/verify-rust-std@d3205de (original) (raw)

`@@ -64,6 +64,7 @@ use crate::sync::atomic::{

`

64

64

`};

`

65

65

`use crate::sys::{c, dur2timeout};

`

66

66

`use crate::time::Duration;

`

``

67

`+

use core::ffi::c_void;

`

67

68

``

68

69

`pub struct Parker {

`

69

70

`state: AtomicI8,

`

`@@ -117,7 +118,7 @@ impl Parker {

`

117

118

``

118

119

`loop {

`

119

120

`// Wait for something to happen, assuming it's still set to PARKED.

`

120

``

`-

c::WaitOnAddress(self.ptr(), &PARKED as *const _ as c::LPVOID, 1, c::INFINITE);

`

``

121

`+

c::WaitOnAddress(self.ptr(), &PARKED as *const _ as *const c_void, 1, c::INFINITE);

`

121

122

`// Change NOTIFIED=>EMPTY but leave PARKED alone.

`

122

123

`if self.state.compare_exchange(NOTIFIED, EMPTY, Acquire, Acquire).is_ok() {

`

123

124

`// Actually woken up by unpark().

`

`@@ -144,7 +145,7 @@ impl Parker {

`

144

145

`}

`

145

146

``

146

147

`// Wait for something to happen, assuming it's still set to PARKED.

`

147

``

`-

c::WaitOnAddress(self.ptr(), &PARKED as *const _ as c::LPVOID, 1, dur2timeout(timeout));

`

``

148

`+

c::WaitOnAddress(self.ptr(), &PARKED as *const _ as *const c_void, 1, dur2timeout(timeout));

`

148

149

`// Set the state back to EMPTY (from either PARKED or NOTIFIED).

`

149

150

`// Note that we don't just write EMPTY, but use swap() to also

`

150

151

`// include an acquire-ordered read to synchronize with unpark()'s

`

`@@ -177,8 +178,8 @@ impl Parker {

`

177

178

`}

`

178

179

`}

`

179

180

``

180

``

`-

fn ptr(&self) -> c::LPVOID {

`

181

``

`-

core::ptr::addr_of!(self.state) as c::LPVOID

`

``

181

`+

fn ptr(&self) -> *const c_void {

`

``

182

`+

core::ptr::addr_of!(self.state).cast::()

`

182

183

`}

`

183

184

`}

`

184

185

``