ultimatepp/olddraw/Draw/Mt.cpp
cxl 4a8f48feaf OldDraw backup
git-svn-id: svn://ultimatepp.org/upp/trunk@1368 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2009-07-06 19:21:49 +00:00

41 lines
566 B
C++

#include "Draw.h"
NAMESPACE_UPP
static StaticMutex sGuiLock;
static thread__ int sGuiLockLevel = 0;
void EnterGuiMutex()
{
if(sGuiLockLevel++ == 0)
sGuiLock.Enter();
}
void EnterGuiMutex(int n)
{
if(n > 0) {
if(sGuiLockLevel == 0)
sGuiLock.Enter();
sGuiLockLevel += n;
}
}
void LeaveGuiMutex()
{
ASSERT(sGuiLockLevel > 0);
if(--sGuiLockLevel == 0)
sGuiLock.Leave();
}
int LeaveGuiMutexAll()
{
int q = sGuiLockLevel;
if(q) {
sGuiLock.Leave();
sGuiLockLevel = 0;
}
return q;
}
END_UPP_NAMESPACE