| | |
| | | /* |
| | | Simple DirectMedia Layer |
| | | Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org> |
| | | Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org> |
| | | |
| | | This software is provided 'as-is', without any express or implied |
| | | warranty. In no event will the authors be held liable for any damages |
| | |
| | | } |
| | | |
| | | int |
| | | SDL_TLSSet(SDL_TLSID id, const void *value, void (*destructor)(void *)) |
| | | SDL_TLSSet(SDL_TLSID id, const void *value, void (SDLCALL *destructor)(void *)) |
| | | { |
| | | SDL_TLSData *storage; |
| | | |
| | |
| | | |
| | | |
| | | SDL_TLSData * |
| | | SDL_Generic_GetTLSData() |
| | | SDL_Generic_GetTLSData(void) |
| | | { |
| | | SDL_threadID thread = SDL_ThreadID(); |
| | | SDL_TLSEntry *entry; |
| | |
| | | |
| | | #ifdef SDL_CreateThread |
| | | #undef SDL_CreateThread |
| | | #undef SDL_CreateThreadWithStackSize |
| | | #endif |
| | | #if SDL_DYNAMIC_API |
| | | #define SDL_CreateThread SDL_CreateThread_REAL |
| | | #define SDL_CreateThreadWithStackSize SDL_CreateThreadWithStackSize_REAL |
| | | #endif |
| | | |
| | | #ifdef SDL_PASSED_BEGINTHREAD_ENDTHREAD |
| | | static SDL_Thread * |
| | | SDL_Thread * |
| | | SDL_CreateThreadWithStackSize(int (SDLCALL * fn) (void *), |
| | | const char *name, const size_t stacksize, void *data, |
| | | pfnSDL_CurrentBeginThread pfnBeginThread, |
| | | pfnSDL_CurrentEndThread pfnEndThread) |
| | | #else |
| | | static SDL_Thread * |
| | | SDL_Thread * |
| | | SDL_CreateThreadWithStackSize(int (SDLCALL * fn) (void *), |
| | | const char *name, const size_t stacksize, void *data) |
| | | #endif |