#include <stx_group.h>

When ID is no more used it's returned to IDmgr. When no more IDs in stack then wait for some to be relesed.
Definition at line 33 of file stx_group.h.
Public Member Functions | |
| stx_XStack () | |
| void | Push (Int32_t a_idx) |
| Int32_t | Pop () |
Public Attributes | |
| log_CLASSID_m | |
Private Attributes | |
| cmn_Condition | m_someIDonStack |
| cmn_Mutex | m_stack_x |
| stx_XStack::stx_XStack | ( | ) | [inline] |
Definition at line 35 of file stx_group.h.
00036 : 00037 m_someIDonStack(&m_stack_x) { 00038 //Empty 00039 }; private:
| void stx_XStack::Push | ( | Int32_t | a_idx | ) |
Definition at line 35 of file stx_group.cpp.
References cmn_Condition::Broadcast(), log_FUNC_m, m_someIDonStack, m_stack_x, and size.
Referenced by fio_TransGroupLock< _T, _defTransEl >::fio_TransGroupLock(), and fio_TransGroupLock< _T, _defTransEl >::ReleaseGroup().
00035 { 00036 log_FUNC_m(Push); 00037 cmn_MutexLock l(m_stack_x); 00038 push(a_idx); 00039 if (size() == 1) { // 00040 m_someIDonStack.Broadcast(); 00041 }; 00042 }


| Int32_t stx_XStack::Pop | ( | ) |
Definition at line 46 of file stx_group.cpp.
References dbg_DETAIL, log_DBG_m, log_FUNC_m, m_someIDonStack, m_stack_x, size, and cmn_Condition::Wait().
Referenced by fio_TransGroupLock< _T, _defTransEl >::ReserveGroup().
00046 { 00047 log_FUNC_m(Pop); 00048 cmn_MutexLock l(m_stack_x); 00049 while (size() == 0) { 00050 log_FUNC_m(Pop); 00051 log_DBG_m(dbg_DETAIL, "No more IDs on stack. WAIT."); 00052 m_someIDonStack.Wait(); 00053 }; 00054 UInt32_t idx = top(); 00055 pop(); 00056 return idx; 00057 }


cmn_Condition stx_XStack::m_someIDonStack [private] |
cmn_Mutex stx_XStack::m_stack_x [private] |
Definition at line 45 of file stx_group.h.
1.5.6