diff options
author | Brian Paul <[email protected]> | 2006-06-16 14:50:05 +0000 |
---|---|---|
committer | Brian Paul <[email protected]> | 2006-06-16 14:50:05 +0000 |
commit | 385f23edf91a366b2e81449632ba3862957a2a74 (patch) | |
tree | 61378612bdd021ecface03f6cd84ac75be5c32e2 /src/mesa/drivers/windows/gdi/InitCritSections.cpp | |
parent | c0168fabed24e9089b47895475c7030925cbf399 (diff) |
Thread safety for Win32. SourceForge bug #1507315.
Diffstat (limited to 'src/mesa/drivers/windows/gdi/InitCritSections.cpp')
-rw-r--r-- | src/mesa/drivers/windows/gdi/InitCritSections.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/mesa/drivers/windows/gdi/InitCritSections.cpp b/src/mesa/drivers/windows/gdi/InitCritSections.cpp new file mode 100644 index 00000000000..7145bffa510 --- /dev/null +++ b/src/mesa/drivers/windows/gdi/InitCritSections.cpp @@ -0,0 +1,32 @@ +#include "glapi.h" +#include "glThread.h" + +#ifdef WIN32_THREADS +extern "C" _glthread_Mutex OneTimeLock; +extern "C" _glthread_Mutex GenTexturesLock; + +extern "C" void FreeAllTSD(void); + +class _CriticalSectionInit +{ +public: + static _CriticalSectionInit m_inst; + + _CriticalSectionInit() + { + _glthread_INIT_MUTEX(OneTimeLock); + _glthread_INIT_MUTEX(GenTexturesLock); + } + + ~_CriticalSectionInit() + { + _glthread_DESTROY_MUTEX(OneTimeLock); + _glthread_DESTROY_MUTEX(GenTexturesLock); + FreeAllTSD(); + } +}; + +_CriticalSectionInit _CriticalSectionInit::m_inst; + + +#endif |