@@ -79,16 +79,21 @@ impl Condvar {
7979 } ,
8080 ..mem:: zeroed ( )
8181 } ;
82- let mut event: abi:: event = mem:: uninitialized ( ) ;
83- let mut nevents: usize = mem:: uninitialized ( ) ;
84- let ret = abi:: poll ( & subscription, & mut event, 1 , & mut nevents) ;
82+ let mut event: mem:: MaybeUninit < abi:: event > = mem:: MaybeUninit :: uninit ( ) ;
83+ let mut nevents: mem:: MaybeUninit < usize > = mem:: MaybeUninit :: uninit ( ) ;
84+ let ret = abi:: poll (
85+ & subscription,
86+ event. as_mut_ptr ( ) ,
87+ 1 ,
88+ nevents. get_mut ( )
89+ ) ;
8590 assert_eq ! (
8691 ret,
8792 abi:: errno:: SUCCESS ,
8893 "Failed to wait on condition variable"
8994 ) ;
9095 assert_eq ! (
91- event. error,
96+ event. assume_init ( ) . error,
9297 abi:: errno:: SUCCESS ,
9398 "Failed to wait on condition variable"
9499 ) ;
@@ -131,21 +136,27 @@ impl Condvar {
131136 ..mem:: zeroed ( )
132137 } ,
133138 ] ;
134- let mut events: [ abi:: event ; 2 ] = mem:: uninitialized ( ) ;
135- let mut nevents: usize = mem:: uninitialized ( ) ;
136- let ret = abi:: poll ( subscriptions. as_ptr ( ) , events. as_mut_ptr ( ) , 2 , & mut nevents) ;
139+ let mut events: [ mem:: MaybeUninit < abi:: event > ; 2 ] = [ mem:: MaybeUninit :: uninit ( ) ; 2 ] ;
140+ let mut nevents: mem:: MaybeUninit < usize > = mem:: MaybeUninit :: uninit ( ) ;
141+ let ret = abi:: poll (
142+ subscriptions. as_ptr ( ) ,
143+ mem:: MaybeUninit :: first_ptr_mut ( & mut events) ,
144+ 2 ,
145+ nevents. get_mut ( )
146+ ) ;
137147 assert_eq ! (
138148 ret,
139149 abi:: errno:: SUCCESS ,
140150 "Failed to wait on condition variable"
141151 ) ;
152+ let nevents = nevents. assume_init ( ) ;
142153 for i in 0 ..nevents {
143154 assert_eq ! (
144- events[ i] . error,
155+ events[ i] . assume_init ( ) . error,
145156 abi:: errno:: SUCCESS ,
146157 "Failed to wait on condition variable"
147158 ) ;
148- if events[ i] . type_ == abi:: eventtype:: CONDVAR {
159+ if events[ i] . assume_init ( ) . type_ == abi:: eventtype:: CONDVAR {
149160 return true ;
150161 }
151162 }
0 commit comments