sdlSignalAsyncIoQueue function

void sdlSignalAsyncIoQueue(
  1. Pointer<SdlAsyncIoQueue> queue
)

Wake up any threads that are blocking in SDL_WaitAsyncIOResult().

This will unblock any threads that are sleeping in a call to SDL_WaitAsyncIOResult for the specified queue, and cause them to return from that function.

This can be useful when destroying a queue to make sure nothing is touching it indefinitely. In this case, once this call completes, the caller should take measures to make sure any previously-blocked threads have returned from their wait and will not touch the queue again (perhaps by setting a flag to tell the threads to terminate and then using SDL_WaitThread() to make sure they've done so).

\param queue the async I/O task queue to signal.

\threadsafety It is safe to call this function from any thread.

\since This function is available since SDL 3.2.0.

\sa SDL_WaitAsyncIOResult

extern SDL_DECLSPEC void SDLCALL SDL_SignalAsyncIOQueue(SDL_AsyncIOQueue *queue)

Implementation

void sdlSignalAsyncIoQueue(Pointer<SdlAsyncIoQueue> queue) {
  final sdlSignalAsyncIoQueueLookupFunction = libSdl3.lookupFunction<
      Void Function(Pointer<SdlAsyncIoQueue> queue),
      void Function(Pointer<SdlAsyncIoQueue> queue)>('SDL_SignalAsyncIOQueue');
  return sdlSignalAsyncIoQueueLookupFunction(queue);
}