io\_uring\_cq\_has\_overflow(3) liburing Manual io\_uring\_cq\_has\_overflow(3)

# [NAME](#NAME)

io\_uring\_cq\_has\_overflow - returns if there are overflow entries waiting to move to the CQ ring

# [SYNOPSIS](#SYNOPSIS)

```
#include <liburing.h>
```

```
bool io_uring_cq_has_overflow(const struct io_uring *ring);
```

# [DESCRIPTION](#DESCRIPTION)

The [**io\_uring\_cq\_has\_overflow**(3)](/man/os/liburing/io_uring_cq_has_overflow.3) function informs the application if CQ entries have overflowed and are waiting to be flushed to the CQ ring. For example using [**io\_uring\_get\_events**(3)](/man/os/liburing/io_uring_get_events.3)

# [NOTES](#NOTES)

Using this function is only valid if the ring has **IORING\_FEAT\_NODROP** set, as it's checking for a flag set by kernels supporting that feature. For really old kernels that don't support this feature, if CQE overflow is experienced the CQEs are lost. If that happens, the CQ ring overflow offset will get incremented.

# [RETURN VALUE](#RETURN_VALUE)

True if there are CQ entries waiting to be flushed to the CQ ring.

# [SEE ALSO](#SEE_ALSO)

[**io\_uring\_get\_events**(3)](/man/os/liburing/io_uring_get_events.3)

September 5, 2022 liburing-2.3

---

Document: io_uring_cq_has_overflow(3) from liburing 2.15-r4 (Chainguard OS)
Source: https://github.com/axboe/liburing.git
