[][src]Function sdl2_sys::SDL_TLSCreate

pub unsafe extern "C" fn SDL_TLSCreate() -> SDL_TLSID

\brief Create an identifier that is globally visible to all threads but refers to data that is thread-specific.

\return The newly created thread local storage identifier, or 0 on error

\code 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); } \endcode

\sa SDL_TLSGet() \sa SDL_TLSSet()