void grayDeferredThread(void *dummy) { HRESULT hResult = NO_ERROR; GRAY_EVENT* event; UNUSED_ARG(dummy); DO_FOREVER { // gray deferred event handler thread message queue hResult = TCMsgQueueReceive(grayDeferredQueueID, (void *) &event, TC_WAIT_FOREVER); if (hResult == NO_ERROR) { grayEventHandleChange(event); } } }
/********************************************************* thread cli CB deferred task */ void cliCBThread(void *dummy) { HRESULT hResult = NO_ERROR; CLICB_CMD* cmd = NULL; UNUSED_ARG(dummy); DO_FOREVER { // thread cli CB deferred task message queue hResult = TCMsgQueueReceive(cliCBDeferredQueueID, (void *) &cmd, TC_WAIT_FOREVER); if (hResult == NO_ERROR) { SYS_DEBUG(SYSDEBUG_TRACE_CLICB, "CLI command call from deferred task: "); SYS_DEBUG(SYSDEBUG_TRACE_CLICB, cmd->cmdStr); SYS_DEBUG(SYSDEBUG_TRACE_CLICB, "\n\r"); cliCBResult = cliCBHandleCommand(cmd->cmdStr); cliCBFreeDeferredCmd(cmd); } } }