Create a piece of thread-local storage.
Defined in SDL_thread.h, but apps should use #include <SDL3/SDL.h>
void); SDL_TLSID SDL_CreateTLS(
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.
// BEWARE: This code example was migrated from the SDL2 Wiki, by only updating the names.
static SDL_SpinLock tls_lock;
static SDL_TLSID thread_local_storage;
void SetMyThreadData(void *value)
{if (!thread_local_storage) {
SDL_LockSpinlock(&tls_lock);if (!thread_local_storage) {
thread_local_storage = SDL_CreateTLS();
}
SDL_UnlockSpinlock(&tls_lock);
}0);
SDL_SetTLS(thread_local_storage, value,
}void *GetMyThreadData(void)
{return SDL_GetTLS(thread_local_storage);
}
CategoryAPI, CategoryAPIFunction