---
name: "io_uring_queue_exit"
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_queue_exit"
---

# io\_uring\_queue\_exit(3)

tear down io\_uring submission and completion queues

## NAME

io\_uring\_queue\_exit - tear down io\_uring submission and completion queues

## SYNOPSIS

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

**void io\_uring\_queue\_exit(struct io\_uring \****ring***);**

## DESCRIPTION

[**io\_uring\_queue\_exit**(3)](/io_uring_queue_exit/3.md) will release all resources acquired and initialized by [**io\_uring\_queue\_init**(3)](/io_uring_queue_init/3.md). It first unmaps the memory shared between the application and the kernel and then closes the io\_uring file descriptor.

Some accounting is done asynchronously, so memory locked by [**io\_uring\_queue\_init**(3)](/io_uring_queue_init/3.md) may remain locked for a few milliseconds after this function returns.

## RETURN VALUE

None

## SEE ALSO

[**io\_uring\_setup**(2)](/io_uring_setup/2.md), [**mmap**(2)](/mmap/2.md), [**io\_uring\_queue\_init**(3)](/io_uring_queue_init/3.md)
