我想知道,是否有任何方法可以清除所有在1 msgQId上流水线的消息?????
答案 0 :(得分:3)
没有内置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调用中收到错误时,始终检查错误。