Return TypeFunction nameArguments
voidhzLockRW::Unlock(void)

Declared in file: hzLock.h
Defined in file : hzLock.cpp

Function Logic:

0:START 1:_hzGlobal_MT 2:m_lockval==0xffffffff 3:hzexit 4:pthread_self tid 5:m_lockval==tid 6:m_lockval 7:m_lockval!=0xffffffff 8:m_counter==0 9:hzexit 10:unknown 11: No text

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));
           }
       }
   }
}