SDL_SetTLS - Man Page

Set the current thread's value associated with a thread local storage ID.

Synopsis

#include <SDL3/SDL_thread.h>

bool SDL_SetTLS(SDL_TLSID *id, const void *value, SDL_TLSDestructorCallback destructor);

Description

If the thread local storage ID is not initialized (the value is 0), a new ID will be created in a thread-safe way, so all calls using a pointer to the same ID will refer to the same local storage.

Note that replacing a value from a previous call to this function on the same thread does _not_ call the previous value's destructor!

destructor can be NULL; it is assumed that value does not need to be cleaned up if so.

Function Parameters

id

a pointer to the thread local storage ID, may not be NULL.

value

the value to associate with the ID for the current thread.

destructor

a function called when the thread exits, to free the value, may be NULL.

Return Value

Returns true on success or false on failure; call SDL_GetError() for more information.

Thread Safety

It is safe to call this function from any thread.

Availability

This function is available since SDL 3.2.0.

See Also

SDL_GetTLS(3)

Referenced By

SDL_GetTLS(3), SDL_TLSDestructorCallback.3type(3), SDL_TLSID.3type(3).

SDL 3.3.2 Simple Directmedia Layer SDL3 FUNCTIONS