Wiki Page Content

Differences between revisions 1 and 2
Revision 1 as of 2013-11-02 12:04:23
Size: 1611
Comment: Added page for SDL_TLSCreate( ) using content from header.
Revision 2 as of 2014-09-06 21:07:42
Size: 1614
Comment: Fixed compile errors in example.
Deletions are marked like this. Additions are marked like this.
Line 38: Line 38:
        SDL_AtomicUnLock(&tls_lock);         SDL_AtomicUnlock(&tls_lock);
Line 40: Line 40:
    SDL_TLSSet(thread_local_storage, value);     SDL_TLSSet(thread_local_storage, value, 0);

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)

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