void canRxPoll( unsigned channel ) {
   __HAL::msqRead_s msqReadBuf;
   while( msgrcv( __HAL::msqDataClient.i32_rdHandle,
               &msqReadBuf,
               sizeof( __HAL::msqRead_s ) - sizeof( long ),
               __HAL::assembleRead_mtype( __HAL::msqDataClient.i32_pid, channel, COMMON_MSGOBJ_IN_QUEUE ), IPC_NOWAIT ) > 0 ) {
     canEnqueue( channel, msqReadBuf.s_canData );
   }
 }
示例#2
0
		T* beginEnqueue() {
			if(canEnqueue()) return items+(wpos%length);
			else return NULL;
		}