我想知道,是否有任何方法来清除在1 msgQId?上流水线的所有消息?
发布于 2012-07-27 13:49:33
没有内置API来刷新消息队列中的所有消息.
如果您想要做的就是丢弃队列中的所有消息,下面是一个快速的方法:
void discardQMessages(MSG_Q_ID id) {
while(
msgQReceive(id, NULL, 0, NO_WAIT) != ERROR
) ;
if {errno != S_objLib_OBJ_UNAVAILABLE)
/* Uh oh... got some problem */
}
当您从任何OS调用中获得错误时,您应该始终检查errno。
https://stackoverflow.com/questions/11681667
复制相似问题