Return TypeFunction nameArguments
hzEcodehzLockRW::LockRead(int,)

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

Function Logic:

0:START 1:!_hzGlobal_MT 2:Return E_OK 3:pthread_self tid 4:m_lockval==0xffffffff 5:Return E_NOTFOUND 6:m_lockval==tid 7:Fatal cont 8:m_lockval; 9:m_lockval==0xffffffff 10:Return E_NOTFOUND 11:!m_lockval 12:unknown 13:Return E_OK

Function body:

hzEcode hzLockRW::LockRead (int timeout)
{
   _hzfunc("hzLockRW::LockRead") ;
   uint32_t    cont ;
   uint32_t    tid ;
   if (!_hzGlobal_MT)
       return E_OK ;
   tid = pthread_self() ;
   if (m_lockval == 0xffffffff)
       return E_NOTFOUND ;
   if (m_lockval == tid)
       Fatal("Attempt by thread %u to re-lock address %p\n", tid, &m_lockval) ;
   for (cont = 0; m_lockval ; cont++)
   {
       if (m_lockval == 0xffffffff)
           return E_NOTFOUND ;
       if (!m_lockval)
           break ;
   }
   while (__sync_add_and_fetch(&m_counter, 1));
   return E_OK ;
}