tokio-rs / io-uring

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

Correctly handle coop_taskrun #263

Open jrahman opened 6 months ago

jrahman commented 6 months ago

When coop taskrun or defer taskrun are set to defer running completion processing until the next system call (coop) or the start of the next io_uring_enter() call (defer), the taskrun flag needs to be checked. The kernel will set the taskrun flag if there are deferred completions that need additional processing in kernel space before they're available to the application. Here we update the check in the submission path to ensure that flag is checked and GETEVENTS is passed into io_uring_enter() when needed

quininer commented 5 months ago

Can you provide a test?