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)
355 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)
Get the value associated with a thread local storage ID for the current thread.
SDL_TLSID SDL_TLSCreate(void)
Create an identifier that is globally visible to all threads but refers to data that is thread-specif...
#define SDL_CreateThreadWithStackSize(fn, name, stacksize, data)
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 *))
Set the value associated with a thread local storage ID for the current thread.
@ 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)