Wiki Page Content

DRAFT

SDL_TLSCreate

Use this function to create an identifier that is globally visible to all threads but refers to data that is thread-specific.

Syntax

SDL_TLSID SDL_TLSCreate(void)

Return Value

Returns the newly created thread local storage identifier or 0 on error.

Code Examples

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);
}

Remarks

You can add useful comments here

Version

This function is available since SDL 2.0.0.


CategoryAPI, CategoryThread

None: SDL_TLSCreate (last edited 2014-09-06 21:07:42 by PhilippWiesemann)

Feedback
Please include your contact information if you'd like to receive a reply.
Submit