77 #if defined(__WIN32__) 98 #define SDL_PASSED_BEGINTHREAD_ENDTHREAD 102 (
void *, unsigned, unsigned (__stdcall *func)(
void *),
103 void * ,
unsigned,
unsigned * );
106 #ifndef SDL_beginthread 107 #define SDL_beginthread _beginthreadex 109 #ifndef SDL_endthread 110 #define SDL_endthread _endthreadex 123 const char *name,
const size_t stacksize,
void *data,
131 #if defined(SDL_CreateThread) && SDL_DYNAMIC_API 132 #undef SDL_CreateThread 133 #define SDL_CreateThread(fn, name, data) SDL_CreateThread_REAL(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread) 134 #undef SDL_CreateThreadWithStackSize 135 #define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize_REAL(fn, name, stacksize, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread) 137 #define SDL_CreateThread(fn, name, data) SDL_CreateThread(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread) 138 #define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize(fn, name, data, (pfnSDL_CurrentBeginThread)_beginthreadex, (pfnSDL_CurrentEndThread)SDL_endthread) 141 #elif defined(__OS2__) 146 #define SDL_PASSED_BEGINTHREAD_ENDTHREAD 157 #ifndef SDL_beginthread 158 #define SDL_beginthread _beginthread 160 #ifndef SDL_endthread 161 #define SDL_endthread _endthread 173 #if defined(SDL_CreateThread) && SDL_DYNAMIC_API 174 #undef SDL_CreateThread 175 #define SDL_CreateThread(fn, name, data) SDL_CreateThread_REAL(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread) 176 #undef SDL_CreateThreadWithStackSize 177 #define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize_REAL(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread) 179 #define SDL_CreateThread(fn, name, data) SDL_CreateThread(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread) 180 #define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize(fn, name, stacksize, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread) 237 extern DECLSPEC SDL_threadID SDLCALL
SDL_ThreadID(
void);
341 extern DECLSPEC
void * SDLCALL
SDL_TLSGet(SDL_TLSID
id);
355 extern DECLSPEC
int SDLCALL
SDL_TLSSet(SDL_TLSID
id,
const void *value,
void (SDLCALL *destructor)(
void*));
int(* SDL_ThreadFunction)(void *data)
SDL_TLSID SDL_TLSCreate(void)
Create an identifier that is globally visible to all threads but refers to data that is thread-specif...
SDL_threadID SDL_ThreadID(void)
struct SDL_Thread SDL_Thread
#define SDL_CreateThreadWithStackSize(fn, name, stacksize, data)
const char * SDL_GetThreadName(SDL_Thread *thread)
void SDL_WaitThread(SDL_Thread *thread, int *status)
void * SDL_TLSGet(SDL_TLSID id)
Get the value associated with a thread local storage ID for the current thread.
SDL_threadID SDL_GetThreadID(SDL_Thread *thread)
int SDL_TLSSet(SDL_TLSID id, const void *value, void(*destructor)(void *))
Set the value associated with a thread local storage ID for the current thread.
void(__cdecl * pfnSDL_CurrentEndThread)(unsigned code)
int SDL_SetThreadPriority(SDL_ThreadPriority priority)
void SDL_DetachThread(SDL_Thread *thread)
uintptr_t(__cdecl * pfnSDL_CurrentBeginThread)(void *, unsigned, unsigned(__stdcall *func)(void *), void *, unsigned, unsigned *)
unsigned long SDL_threadID
#define SDL_CreateThread(fn, name, data)