SDL_DestroyAsyncIOQueue(3)

SDL_DestroyAsyncIOQueue3

Destroy a previously-created async i/o task queue.

Usage

#include "SDL3/SDL.h"

void SDL_DestroyAsyncIOQueue(SDL_AsyncIOQueue *queue);

Header file

Defined in SDL3/SDL_asyncio.h

Overview

If there are still tasks pending for this queue, this call will block until those tasks are finished. All those tasks will be deallocated. Their results will be lost to the app.

Any pending reads from SDL_LoadFileAsync () that are still in this queue will have their buffers deallocated by this function, to prevent a memory leak.

Once this function is called, the queue is no longer valid and should not be used, including by other threads that might access it while destruction is blocking on pending tasks.

Do not destroy a queue that still has threads waiting on it through

SDL_WaitAsyncIOResult (). You can call

SDL_SignalAsyncIOQueue () first to unblock those threads, and take measures (such as SDL_WaitThread ()) to make sure they have finished their wait and won't wait on the queue again.

Function parameters

queue

the task queue to destroy.

Thread safety

It is safe to call this function from any thread, so long as no other thread is waiting on the queue with

SDL_WaitAsyncIOResult .

Availability

This function is available since SDL 3.2.0.

From libsdl3-doc 3.2.10+ds-1 in Debian 13 (Trixie). Parsed by carta from the page's man source.