---
name: "io_uring_prep_poll_remove"
section: "3"
platform: "linux"
package: "liburing"
version: "2.15-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/io_uring_prep_poll_remove"
---

# io\_uring\_prep\_poll\_remove(3)

prepare a poll deletion request

## NAME

io\_uring\_prep\_poll\_remove - prepare a poll deletion request

## SYNOPSIS

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

**void io\_uring\_prep\_poll\_remove(struct io\_uring\_sqe \****sqe***,**                                **\_\_u64** *user\_data***);**

## DESCRIPTION

The [**io\_uring\_prep\_poll\_remove**(3)](/io_uring_prep_poll_remove/3.md) function prepares a poll removal request. The submission queue entry *sqe* is setup to remove a poll request identified by *user\_data*

Works like [**io\_uring\_prep\_cancel**(3)](/io_uring_prep_cancel/3.md) except only looks for poll requests. Apart from that, behavior is identical. See that man page for specific details.

## RETURN VALUE

None

## ERRORS

These are the errors that are reported in the CQE *res* field. On success, **0** is returned.

- **-ENOENT**

  The request identified by *user\_data* could not be located. This could be because it completed before the cancelation request was issued, or if an invalid identifier is used.

- **-EINVAL**

  One of the fields set in the SQE was invalid.

- **-EALREADY**

  The execution state of the request has progressed far enough that cancelation is no longer possible. This should normally mean that it will complete shortly, either successfully, or interrupted due to the cancelation.

## SEE ALSO

[**io\_uring\_get\_sqe**(3)](/io_uring_get_sqe/3.md), [**io\_uring\_submit**(3)](/io_uring_submit/3.md), [**io\_uring\_prep\_cancel**(3)](/io_uring_prep_cancel/3.md)
