tokio-rs / io-uring

The `io_uring` library for Rust
Apache License 2.0
1.16k stars 129 forks source link

opcode: add Futex{Wake,Wait,Waitv} #272

Closed oxalica closed 5 months ago

oxalica commented 5 months ago

These opcodes are available since Linux 6.7, and are mentioned by #253. FutexWaitV expects a new struct futex_waitv which is available in linux-raw-sys. An opaque type is added to the main crate to avoid polling in the dependency.

See:

oxalica commented 5 months ago

Exposed types::FutexWaitV and also fixed a typo in tests (waitv, not wakev).

I noticed that io-uring-test fails test_udp_recvmsg_multishot_trunc on my machine (io-uring-test/src/tests/net.rs:1549:25, assertion failed: msg.is_payload_truncated()), not sure if it's something kernel related (I'm on 6.9.0-rc2). But at least it seems unrelated.

quininer commented 5 months ago

Thank you!