没有内置 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 API 调用中收到错误时,您应该始终检查 errno。