45 if (
nullptr != pclRet) {
60 m_clSemaphore.Init(0, 255);
72 return Receive_i(u32TimeWaitMS_);
79 if (!m_clSemaphore.Pend(u32TimeWaitMS_)) {
85 auto* pclRet = m_clLinkList.GetHead();
86 m_clLinkList.Remove(pclRet);
98 m_clLinkList.Add(pclSrc_);
102 m_clSemaphore.Post();
108 return m_clSemaphore.GetCount();
Message * Receive()
Receive.
TypedDoubleLinkList< Message > m_clList
Linked list used to manage the Message objects.
void Send(Message *pclSrc_)
Send.
void Push(Message *pclMessage_)
Push.
Message * Receive_i(uint32_t u32TimeWaitMS_)
Receive_i.
Single include file given to users of the Mark3 Kernel API.
the Message class. This object provides threadsafe message-based IPC services based on exchange of ob...
uint16_t GetCount()
GetCount.
The CriticalGuard class. This class provides an implemention of RAII for critical sections...
Message * GetHead()
GetHead.