@@ -38,21 +38,15 @@ impl WaitableSet {
3838
3939 pub fn poll ( & self ) -> ( u32 , u32 , u32 ) {
4040 unsafe {
41- let mut payload = [ 0 ; 3 ] ;
42- let ret = poll ( self . 0 . get ( ) , & mut payload) ;
43- // FIXME(wasip3-prototyping#139) this is the wrong ABI
44- let ( ret0, ret1, ret2) = if false {
45- ( ret, payload[ 0 ] , payload[ 1 ] )
46- } else if ret == 0 {
47- ( EVENT_NONE , 0 , 0 )
48- } else {
49- ( payload[ 0 ] , payload[ 1 ] , payload[ 2 ] )
50- } ;
41+ let mut payload = [ 0 ; 2 ] ;
42+ let event0 = poll ( self . 0 . get ( ) , & mut payload) ;
5143 rtdebug ! (
52- "waitable-set.poll({}) = ({ret0 }, {ret1 :#x}, {ret2 :#x})" ,
44+ "waitable-set.poll({}) = ({event0 }, {:#x}, {:#x})" ,
5345 self . 0 . get( ) ,
46+ payload[ 0 ] ,
47+ payload[ 1 ] ,
5448 ) ;
55- ( ret0 , ret1 , ret2 )
49+ ( event0 , payload [ 0 ] , payload [ 1 ] )
5650 }
5751 }
5852
@@ -103,5 +97,5 @@ extern "C" {
10397 #[ link_name = "[waitable-set-wait]" ]
10498 fn wait ( _: u32 , _: * mut [ u32 ; 2 ] ) -> u32 ;
10599 #[ link_name = "[waitable-set-poll]" ]
106- fn poll ( _: u32 , _: * mut [ u32 ; 3 ] ) -> u32 ;
100+ fn poll ( _: u32 , _: * mut [ u32 ; 2 ] ) -> u32 ;
107101}
0 commit comments