|
1 | 1 | use crate::cell::UnsafeCell;
|
2 | 2 | use crate::mem;
|
| 3 | +use crate::mem::MaybeUninit; |
3 | 4 | use crate::sync::atomic::{AtomicU32, Ordering};
|
4 | 5 | use crate::sys::cloudabi::abi;
|
5 | 6 |
|
@@ -73,10 +74,11 @@ impl RWLock {
|
73 | 74 | },
|
74 | 75 | ..mem::zeroed()
|
75 | 76 | };
|
76 |
| - let mut event: abi::event = mem::uninitialized(); |
77 |
| - let mut nevents: usize = mem::uninitialized(); |
78 |
| - let ret = abi::poll(&subscription, &mut event, 1, &mut nevents); |
| 77 | + let mut event = MaybeUninit::<abi::event>::uninit(); |
| 78 | + let mut nevents = MaybeUninit::<usize>::uninit(); |
| 79 | + let ret = abi::poll(&subscription, event.as_mut_ptr(), 1, nevents.as_mut_ptr()); |
79 | 80 | assert_eq!(ret, abi::errno::SUCCESS, "Failed to acquire read lock");
|
| 81 | + let event = event.assume_init(); |
80 | 82 | assert_eq!(
|
81 | 83 | event.error,
|
82 | 84 | abi::errno::SUCCESS,
|
@@ -182,10 +184,11 @@ impl RWLock {
|
182 | 184 | },
|
183 | 185 | ..mem::zeroed()
|
184 | 186 | };
|
185 |
| - let mut event: abi::event = mem::uninitialized(); |
186 |
| - let mut nevents: usize = mem::uninitialized(); |
187 |
| - let ret = abi::poll(&subscription, &mut event, 1, &mut nevents); |
| 187 | + let mut event = MaybeUninit::<abi::event>::uninit(); |
| 188 | + let mut nevents = MaybeUninit::<usize>::uninit(); |
| 189 | + let ret = abi::poll(&subscription, event.as_mut_ptr(), 1, nevents.as_mut_ptr()); |
188 | 190 | assert_eq!(ret, abi::errno::SUCCESS, "Failed to acquire write lock");
|
| 191 | + let event = event.assume_init(); |
189 | 192 | assert_eq!(
|
190 | 193 | event.error,
|
191 | 194 | abi::errno::SUCCESS,
|
|
0 commit comments