| 1847 | } |
| 1848 | |
| 1849 | _LOCAL_INLINE bool io_uring_skip_cqe(struct io_uring *ring, |
| 1850 | struct io_uring_cqe *cqe, int *err) |
| 1851 | { |
| 1852 | if (cqe->flags & IORING_CQE_F_SKIP) |
| 1853 | goto out; |
| 1854 | if (ring->features & IORING_FEAT_EXT_ARG) |
| 1855 | return false; |
| 1856 | if (cqe->user_data != LIBURING_UDATA_TIMEOUT) |
| 1857 | return false; |
| 1858 | if (cqe->res < 0) |
| 1859 | *err = cqe->res; |
| 1860 | out: |
| 1861 | io_uring_cq_advance(ring, io_uring_cqe_nr(cqe)); |
| 1862 | return !*err; |
| 1863 | } |
| 1864 | |
| 1865 | /* |
| 1866 | * Internal helper, don't use directly in applications. Use one of the |
no test coverage detected