Function SDL_DetachThread
pub unsafe extern "C" fn SDL_DetachThread(thread: *mut SDL_Thread)
dep_sdl3
only.Expand description
Let a thread clean up on exit without intervention.
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.
§Parameters
thread
: theSDL_Thread
pointer that was returned from theSDL_CreateThread()
call that started this thread.
§Availability
This function is available since SDL 3.2.0.