diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-12-23 08:04:03 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-12-23 08:04:03 +0300 |
commit | 9282d305bdc56522543129436db1e8a5d19cf39f (patch) | |
tree | b6d0cdcc7dd3f4113cf9e4f9813c40f44d29746e /extern/sdlew/include/SDL2/SDL_thread.h | |
parent | de724a258eda45d1fed2b2176006c3b2df8abea2 (diff) | |
parent | 646a96bf8edc211a06f3df652101c265ee166e8d (diff) |
Merge branch 'master' into texture_nodes_refactortexture_nodes_refactor
Conflicts:
source/blender/nodes/texture/nodes/node_texture_math.c
Diffstat (limited to 'extern/sdlew/include/SDL2/SDL_thread.h')
-rw-r--r-- | extern/sdlew/include/SDL2/SDL_thread.h | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/extern/sdlew/include/SDL2/SDL_thread.h b/extern/sdlew/include/SDL2/SDL_thread.h new file mode 100644 index 00000000000..d7662713e51 --- /dev/null +++ b/extern/sdlew/include/SDL2/SDL_thread.h @@ -0,0 +1,90 @@ + +#ifndef _SDL_thread_h +#define _SDL_thread_h + +#include "SDL_stdinc.h" +#include "SDL_error.h" + +#include "SDL_atomic.h" +#include "SDL_mutex.h" + +#include "begin_code.h" + +#ifdef __cplusplus +extern "C" { +#endif + +struct SDL_Thread; +typedef struct SDL_Thread SDL_Thread; + +typedef unsigned long SDL_threadID; + +typedef unsigned int SDL_TLSID; + +typedef enum { + SDL_THREAD_PRIORITY_LOW, + SDL_THREAD_PRIORITY_NORMAL, + SDL_THREAD_PRIORITY_HIGH +} SDL_ThreadPriority; + +typedef int (SDLCALL * SDL_ThreadFunction) (void *data); + +#if defined(__WIN32__) && !defined(HAVE_LIBC) + +#define SDL_PASSED_BEGINTHREAD_ENDTHREAD +#include <process.h> + +typedef uintptr_t(__cdecl * pfnSDL_CurrentBeginThread) (void *, unsigned, + unsigned (__stdcall * + func) (void + *), + void *arg, unsigned, + unsigned *threadID); +typedef void (__cdecl * pfnSDL_CurrentEndThread) (unsigned code); + +extern DECLSPEC SDL_Thread *SDLCALL +SDL_CreateThread(SDL_ThreadFunction fn, const char *name, void *data, + pfnSDL_CurrentBeginThread pfnBeginThread, + pfnSDL_CurrentEndThread pfnEndThread); + +#define SDL_CreateThread(fn, name, data) SDL_CreateThread(fn, name, data, (pfnSDL_CurrentBeginThread)_beginthreadex, (pfnSDL_CurrentEndThread)_endthreadex) + +#else + +extern DECLSPEC SDL_Thread *SDLCALL +SDL_CreateThread(SDL_ThreadFunction fn, const char *name, void *data); + +#endif + +typedef const char * SDLCALL tSDL_GetThreadName(SDL_Thread *thread); + +typedef SDL_threadID SDLCALL tSDL_ThreadID(void); + +typedef SDL_threadID SDLCALL tSDL_GetThreadID(SDL_Thread * thread); + +typedef int SDLCALL tSDL_SetThreadPriority(SDL_ThreadPriority priority); + +typedef void SDLCALL tSDL_WaitThread(SDL_Thread * thread, int *status); + +typedef SDL_TLSID SDLCALL tSDL_TLSCreate(void); + +typedef void * SDLCALL tSDL_TLSGet(SDL_TLSID id); + +typedef int SDLCALL tSDL_TLSSet(SDL_TLSID id, const void *value, void (*destructor)(void*)); + +extern tSDL_GetThreadName *SDL_GetThreadName; +extern tSDL_ThreadID *SDL_ThreadID; +extern tSDL_GetThreadID *SDL_GetThreadID; +extern tSDL_SetThreadPriority *SDL_SetThreadPriority; +extern tSDL_WaitThread *SDL_WaitThread; +extern tSDL_TLSCreate *SDL_TLSCreate; +extern tSDL_TLSGet *SDL_TLSGet; +extern tSDL_TLSSet *SDL_TLSSet; + +#ifdef __cplusplus +} +#endif +#include "close_code.h" + +#endif + |