|
SASC
DVBSoftCAM
|
#include <thread.h>
Inheritance diagram for cMutex:Public Member Functions | |
| cMutex (void) | |
| ~cMutex () | |
| void | Lock (void) |
| void | Unlock (void) |
Friends | |
| class | cCondVar |
| cMutex::cMutex | ( | void | ) |
Definition at line 173 of file thread.cpp.
{
pthread_mutexattr_t attr;
pthread_mutexattr_init(&attr);
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK_NP);
locked = 0;
pthread_mutex_init(&mutex, &attr);
}
| cMutex::~cMutex | ( | ) |
Definition at line 182 of file thread.cpp.
{
pthread_mutex_destroy(&mutex);
}
| void cMutex::Lock | ( | void | ) |
Definition at line 187 of file thread.cpp.
Referenced by cSmartCardSlot::Action(), cNetWatcher::Action(), cNetSocket::Bind(), cTpsKeys::Check(), SCDEVICE::CloseDvr(), cNetSocket::Connect(), cSmartCardSlot::GetCardIdStr(), cSmartCardSlot::GetCardInfoStr(), cUserMsgs::GetQueuedMsg(), cEcmHandler::IsIdle(), cMutexLock::Lock(), cThread::Lock(), cSmartCardSlot::LockCard(), LogStatsDown(), LogStatsUp(), SCDEVICE::OpenDvr(), cEcmHandler::Process(), cCardClientCCcam2::ProcessECM(), cCardClientCamd35::ProcessECM(), cCardClientCommon::ProcessECM(), cUserMsgs::Queue(), cSmartCardSlot::ReleaseCard(), cLogging::ReopenLogfile(), SCDEVICE::SetPid(), cEcmHandler::SetPrg(), cEcmHandler::ShiftCwIndex(), cEcmHandler::Stop(), and cCam::~cCam().
{
pthread_mutex_lock(&mutex);
locked++;
}
| void cMutex::Unlock | ( | void | ) |
Definition at line 193 of file thread.cpp.
Referenced by cSmartCardSlot::Action(), cNetSocket::Bind(), cTpsKeys::Check(), SCDEVICE::CloseDvr(), cNetSocket::Connect(), cSmartCardSlot::GetCardIdStr(), cSmartCardSlot::GetCardInfoStr(), cUserMsgs::GetQueuedMsg(), cEcmHandler::IsIdle(), cSmartCardSlot::LockCard(), LogStatsDown(), LogStatsUp(), SCDEVICE::OpenDvr(), cEcmHandler::Process(), cCardClientCCcam2::ProcessECM(), cCardClientCamd35::ProcessECM(), cCardClientCommon::ProcessECM(), cUserMsgs::Queue(), cSmartCardSlot::ReleaseCard(), cLogging::ReopenLogfile(), SCDEVICE::SetPid(), cEcmHandler::SetPrg(), cEcmHandler::ShiftCwIndex(), cEcmHandler::Stop(), cThread::Unlock(), cCam::~cCam(), and cMutexLock::~cMutexLock().
{
if (!--locked)
pthread_mutex_unlock(&mutex);
}