+void *CCECAdapterMessageQueue::Process(void)
+{
+ CCECAdapterMessageQueueEntry *message(NULL);
+ while (!IsStopped())
+ {
+ /* wait for a new message */
+ if (m_writeQueue.Pop(message, 1000))
+ {
+ /* write this message */
+ m_com->WriteToDevice(message->m_message);
+ if (message->m_message->state == ADAPTER_MESSAGE_STATE_ERROR)
+ {
+ message->Signal();
+ Clear();
+ break;
+ }
+ }
+ }
+ return NULL;
+}
+