Skip to content

Commit 08903f0

Browse files
committed
Adjust poll signature
1 parent 74eeb2d commit 08903f0

1 file changed

Lines changed: 7 additions & 13 deletions

File tree

crates/guest-rust/rt/src/async_support/waitable_set.rs

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)