// // MODULE: MutexOwner.cpp // // PURPOSE: strictly a utility class so we can properly construct & destruct a static mutex. // // COMPANY: Saltmine Creative, Inc. (206)-284-7511 support@saltmine.com // // AUTHOR: Oleg Kalosha, Joe Mabel // // ORIGINAL DATE: 11-04-98 // // NOTES: // // Version Date By Comments //-------------------------------------------------------------------- // V3.0 11-04-98 JM extracted from SafeTime // #include "stdafx.h" #include "MutexOwner.h" #include "BaseException.h" #include "Event.h" ////////////////////////////////////////////////////////////////////// //CMutexOwner ////////////////////////////////////////////////////////////////////// CMutexOwner::CMutexOwner(const CString & str) { m_hmutex = ::CreateMutex(NULL, FALSE, NULL); if (!m_hmutex) { // Shouldn't ever happen, so we're not coming up with any elaborate strategy, // but at least we log it. CBuildSrcFileLinenoStr SrcLoc( __FILE__, __LINE__ ); CEvent::ReportWFEvent( SrcLoc.GetSrcFileLineStr(), SrcLoc.GetSrcFileLineStr(), str, _T(""), EV_GTS_ERROR_MUTEX ); } } CMutexOwner::~CMutexOwner() { ::CloseHandle(m_hmutex); } HANDLE & CMutexOwner::Handle() { return m_hmutex; }