帮着顶一下,是不是太晚了
看看明天又没有结果
你说的是msgQ吗?
没有清空的函数,可用先用msgQNumMsgs查看有多少消息,如果不准备处理这些,再用msgQReceive收下来不理就是了。
那只能用我上面提到的方法了。vxWorks自己的代码里面也是这样做的。下面的代码是pipeIoctl里面对flush的处理部分,可以参考。
case FIOFLUSH: /* discard all outstanding messages */
taskLock (); while (msgQReceive (&pPipeDev->msgQ, (char *) NULL, 0, NO_WAIT) != ERROR) ; taskUnlock (); break;
我们也是这样做的!