38 #if defined(__WIN32__)
91 #if defined(__WIN32__)
112 #define SDL_PASSED_BEGINTHREAD_ENDTHREAD
115 (
void *, unsigned, unsigned (__stdcall *func)(
void *),
116 void * ,
unsigned,
unsigned * );
119 #ifndef SDL_beginthread
120 #define SDL_beginthread _beginthreadex
122 #ifndef SDL_endthread
123 #define SDL_endthread _endthreadex
133 const char *name,
const size_t stacksize,
void *data,
138 #if defined(SDL_CreateThread) && SDL_DYNAMIC_API
139 #undef SDL_CreateThread
140 #define SDL_CreateThread(fn, name, data) SDL_CreateThread_REAL(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
141 #undef SDL_CreateThreadWithStackSize
142 #define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize_REAL(fn, name, stacksize, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
144 #define SDL_CreateThread(fn, name, data) SDL_CreateThread(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
145 #define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize(fn, name, data, (pfnSDL_CurrentBeginThread)_beginthreadex, (pfnSDL_CurrentEndThread)SDL_endthread)
148 #elif defined(__OS2__)
153 #define SDL_PASSED_BEGINTHREAD_ENDTHREAD
158 #ifndef SDL_beginthread
159 #define SDL_beginthread _beginthread
161 #ifndef SDL_endthread
162 #define SDL_endthread _endthread
174 #if defined(SDL_CreateThread) && SDL_DYNAMIC_API
175 #undef SDL_CreateThread
176 #define SDL_CreateThread(fn, name, data) SDL_CreateThread_REAL(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
177 #undef SDL_CreateThreadWithStackSize
178 #define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize_REAL(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
180 #define SDL_CreateThread(fn, name, data) SDL_CreateThread(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
181 #define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize(fn, name, stacksize, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
447 extern DECLSPEC
int SDLCALL
SDL_TLSSet(
SDL_TLSID id,
const void *value,
void (SDLCALL *destructor)(
void*));
void(__cdecl * pfnSDL_CurrentEndThread)(unsigned code)
void SDL_DetachThread(SDL_Thread *thread)
const char * SDL_GetThreadName(SDL_Thread *thread)
#define SDL_CreateThread(fn, name, data)
SDL_threadID SDL_GetThreadID(SDL_Thread *thread)
void * SDL_TLSGet(SDL_TLSID id)
SDL_TLSID SDL_TLSCreate(void)
#define SDL_CreateThreadWithStackSize(fn, name, stacksize, data)
void SDL_TLSCleanup(void)
struct SDL_Thread SDL_Thread
int SDL_SetThreadPriority(SDL_ThreadPriority priority)
void SDL_WaitThread(SDL_Thread *thread, int *status)
unsigned long SDL_threadID
int SDL_TLSSet(SDL_TLSID id, const void *value, void(*destructor)(void *))
@ SDL_THREAD_PRIORITY_TIME_CRITICAL
@ SDL_THREAD_PRIORITY_LOW
@ SDL_THREAD_PRIORITY_HIGH
@ SDL_THREAD_PRIORITY_NORMAL
uintptr_t(__cdecl * pfnSDL_CurrentBeginThread)(void *, unsigned, unsigned(__stdcall *func)(void *), void *, unsigned, unsigned *)
SDL_threadID SDL_ThreadID(void)
int(* SDL_ThreadFunction)(void *data)