Scroll to navigation

SDL_DetachThread(3) SDL3 FUNCTIONS SDL_DetachThread(3)

NAME

SDL_DetachThread - Let a thread clean up on exit without intervention.

HEADER FILE

Defined in SDL3/SDL_thread.h

SYNOPSIS

#include "SDL3/SDL.h"
void SDL_DetachThread(SDL_Thread *thread);

DESCRIPTION

A thread may be "detached" to signify that it should not remain until another thread has called SDL_WaitThread () on it. Detaching a thread is useful for long-running threads that nothing needs to synchronize with or further manage. When a detached thread is done, it simply goes away.

There is no way to recover the return code of a detached thread. If you need this, don't detach the thread and instead use

SDL_WaitThread ().

Once a thread is detached, you should usually assume the

SDL_Thread
isn't safe to reference again, as it will become invalid immediately upon the detached thread's exit, instead of remaining until someone has called SDL_WaitThread () to finally clean it up. As such, don't detach the same thread more than once.

If a thread has already exited when passed to

SDL_DetachThread (), it will stop waiting for a call to

SDL_WaitThread () and clean up immediately. It is not safe to detach a thread that might be used with

SDL_WaitThread ().

You may not call SDL_WaitThread () on a thread that has been detached. Use either that function or this one, but not both, or behavior is undefined.

It is safe to pass NULL to this function; it is a no-op.

FUNCTION PARAMETERS

the SDL_Thread
pointer that was returned from the SDL_CreateThread () call that started this thread.

AVAILABILITY

This function is available since SDL 3.1.3.

SEE ALSO

(3), SDL_CreateThread(3), (3), SDL_WaitThread(3)

SDL 3.1.6 Simple Directmedia Layer