50 lines
464 B
C++
50 lines
464 B
C++
|
/*
|
||
|
* This file is a part of Winix
|
||
|
* and is not publicly distributed
|
||
|
*
|
||
|
* Copyright (c) 2012, Tomasz Sowa
|
||
|
* All rights reserved.
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
#include "lock.h"
|
||
|
|
||
|
|
||
|
|
||
|
Lock::Lock()
|
||
|
{
|
||
|
synchro = 0;
|
||
|
}
|
||
|
|
||
|
|
||
|
Lock::Lock(Synchro * synchro_)
|
||
|
{
|
||
|
synchro = synchro_;
|
||
|
synchro->Lock();
|
||
|
}
|
||
|
|
||
|
|
||
|
Lock::Lock(Synchro & synchro_)
|
||
|
{
|
||
|
synchro = &synchro_;
|
||
|
synchro->Lock();
|
||
|
}
|
||
|
|
||
|
|
||
|
Lock::~Lock()
|
||
|
{
|
||
|
Unlock();
|
||
|
}
|
||
|
|
||
|
|
||
|
void Lock::Unlock()
|
||
|
{
|
||
|
if( synchro )
|
||
|
{
|
||
|
synchro->Unlock();
|
||
|
synchro = 0;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|