| 
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