Pull data object from the to be processed queue. This is strickly done by the object receptor and processing thread. Arguments: None Pointer to the process object

Return TypeFunction nameArguments
void*hzDiode::Pull(void)

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

Function Logic:

0:START 1:pB 2:unknown 3:Return 0 4:unknown 5:unknown 6:Return 0 7:pB items m_pFirst 8:pObj items 9:Return pObj

Function body:

void* hzDiode::Pull (void)
{
   //  Pull data object from the to be processed queue. This is strickly done by the object receptor and processing thread.
   //  
   //  Arguments: None
   //  Returns: Pointer to the process object
   _bkt*   pB ;    //  Diode bucket pointer
   void*   pObj ;  //  Objetc
   pB = m_pFirst ;
   if (!pB)
       return 0;
   if (pB->count == pB->usage)
   {
       if (!pB->next)
           return 0;
       //  For there to be a next bucket, this buckut must nessesarily be full
       pB = pB->next ;
       _free(m_pFirst) ;
       m_pFirst = pB ;
   }
   pObj = pB->items[pB->count] ;
   pB->count++ ;
   return pObj ;
}