Blob Blame Raw


#include "xscopedlock.h"
#include "tthread.h"

using namespace TThread;

class XScopedLock::Imp
{
	ScopedLock *m_scopedLock;
	static Mutex m_mutex;

public:
	Imp()
		: m_scopedLock(new ScopedLock(m_mutex))
	{
	}

	~Imp()
	{
		delete m_scopedLock;
	}
};

//---------------------------------------------------------------------------

Mutex XScopedLock::Imp::m_mutex;

//---------------------------------------------------------------------------

XScopedLock::XScopedLock()
	: m_imp(new Imp)
{
}

//---------------------------------------------------------------------------

XScopedLock::~XScopedLock()
{
	delete m_imp;
}

//---------------------------------------------------------------------------