diff options
author | Ben Murdoch <benm@google.com> | 2011-05-16 16:25:10 +0100 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2011-05-23 18:54:14 +0100 |
commit | ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddb (patch) | |
tree | db769fadd053248f85db67434a5b275224defef7 /Source/ThirdParty/ANGLE/src/compiler/osinclude.h | |
parent | 52e2557aeb8477967e97fd24f20f8f407a10fa15 (diff) | |
download | external_webkit-ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddb.zip external_webkit-ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddb.tar.gz external_webkit-ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddb.tar.bz2 |
Merge WebKit at r76408: Initial merge by git.
Change-Id: I5b91decbd693ccbf5c1b8354b37cd68cc9a1ea53
Diffstat (limited to 'Source/ThirdParty/ANGLE/src/compiler/osinclude.h')
-rw-r--r-- | Source/ThirdParty/ANGLE/src/compiler/osinclude.h | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/Source/ThirdParty/ANGLE/src/compiler/osinclude.h b/Source/ThirdParty/ANGLE/src/compiler/osinclude.h index d887914..1af5064 100644 --- a/Source/ThirdParty/ANGLE/src/compiler/osinclude.h +++ b/Source/ThirdParty/ANGLE/src/compiler/osinclude.h @@ -8,8 +8,8 @@ #define __OSINCLUDE_H // -// This file contains contains the window's specific datatypes and -// declares any windows specific functions. +// This file contains contains os-specific datatypes and +// declares any os-specific functions. // #if defined(_WIN32) || defined(_WIN64) @@ -22,7 +22,9 @@ #error Unsupported platform. #endif -#if defined(ANGLE_OS_WIN) +#if defined(ANGLE_USE_NSPR) +#include "prthread.h" +#elif defined(ANGLE_OS_WIN) #define STRICT #define VC_EXTRALEAN 1 #include <windows.h> @@ -30,20 +32,24 @@ #include <pthread.h> #include <semaphore.h> #include <errno.h> -#endif // ANGLE_OS_WIN +#endif // ANGLE_USE_NSPR + #include "compiler/debug.h" // // Thread Local Storage Operations // -#if defined(ANGLE_OS_WIN) +#if defined(ANGLE_USE_NSPR) +typedef PRUintn OS_TLSIndex; +#define OS_INVALID_TLS_INDEX 0xFFFFFFFF +#elif defined(ANGLE_OS_WIN) typedef DWORD OS_TLSIndex; #define OS_INVALID_TLS_INDEX (TLS_OUT_OF_INDEXES) #elif defined(ANGLE_OS_POSIX) typedef unsigned int OS_TLSIndex; #define OS_INVALID_TLS_INDEX 0xFFFFFFFF -#endif // ANGLE_OS_WIN +#endif // ANGLE_USE_NSPR OS_TLSIndex OS_AllocTLSIndex(); bool OS_SetTLSValue(OS_TLSIndex nIndex, void *lpvValue); @@ -51,8 +57,10 @@ bool OS_FreeTLSIndex(OS_TLSIndex nIndex); inline void* OS_GetTLSValue(OS_TLSIndex nIndex) { - assert(nIndex != OS_INVALID_TLS_INDEX); -#if defined(ANGLE_OS_WIN) + ASSERT(nIndex != OS_INVALID_TLS_INDEX); +#if defined(ANGLE_USE_NSPR) + return PR_GetThreadPrivate(nIndex); +#elif defined(ANGLE_OS_WIN) return TlsGetValue(nIndex); #elif defined(ANGLE_OS_POSIX) return pthread_getspecific(nIndex); |