| Return Type | Function name | Arguments |
|---|---|---|
| void | hzLockRW::Unlock | (void) |
Declared in file: hzLock.h
Defined in file : hzLock.cpp
Function Logic:
Function body:
void hzLockRW::Unlock (void)
{
_hzfunc("hzLockRWD::Unlock") ;
uint32_t tid ;
if (_hzGlobal_MT)
{
if (m_lockval == 0xffffffff)
hzexit(E_CORRUPT, "Attempting to unlock a deprecated lock") ;
tid = pthread_self() ;
if (m_lockval == tid)
{
m_lockval = 0;
}
else
{
if (m_lockval != 0xffffffff)
{
if (m_counter == 0)
hzexit(E_CORRUPT, "Lock count already zero") ;
while (__sync_add_and_fetch(&m_counter, -1));
}
}
}
}