THIS PAGE IS A WORK IN PROGRESS ... Please make edits to this page to improve it!
Create a piece of thread-local storage.
Returns the newly created thread local storage identifier or 0 on error.
This creates an identifier that is globally visible to all threads but refers to data that is thread-specific.
This function is available since SDL 3.0.0.
static SDL_SpinLock tls_lock;
static SDL_TLSID thread_local_storage;
void SetMyThreadData(void *value)
{
if (!thread_local_storage) {
SDL_AtomicLock(&tls_lock);
if (!thread_local_storage) {
thread_local_storage = SDL_TLSCreate();
}
SDL_AtomicUnlock(&tls_lock);
}
SDL_TLSSet(thread_local_storage, value, 0);
}
void *GetMyThreadData(void)
{
return SDL_TLSGet(thread_local_storage);
}