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
136 const char *name,
const size_t stacksize,
void *data,
144 #if defined(SDL_CreateThread) && SDL_DYNAMIC_API
145 #undef SDL_CreateThread
146 #define SDL_CreateThread(fn, name, data) SDL_CreateThread_REAL(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
147 #undef SDL_CreateThreadWithStackSize
148 #define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize_REAL(fn, name, stacksize, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
150 #define SDL_CreateThread(fn, name, data) SDL_CreateThread(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
151 #define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize(fn, name, data, (pfnSDL_CurrentBeginThread)_beginthreadex, (pfnSDL_CurrentEndThread)SDL_endthread)
154 #elif defined(__OS2__)
159 #define SDL_PASSED_BEGINTHREAD_ENDTHREAD
164 #ifndef SDL_beginthread
165 #define SDL_beginthread _beginthread
167 #ifndef SDL_endthread
168 #define SDL_endthread _endthread
180 #if defined(SDL_CreateThread) && SDL_DYNAMIC_API
181 #undef SDL_CreateThread
182 #define SDL_CreateThread(fn, name, data) SDL_CreateThread_REAL(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
183 #undef SDL_CreateThreadWithStackSize
184 #define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize_REAL(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
186 #define SDL_CreateThread(fn, name, data) SDL_CreateThread(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
187 #define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize(fn, name, stacksize, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
439 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)