Бих искал да знам, има ли някакъв метод за изчистване на всички съобщения, които са конвейерно насочени към 1 msgQId?????
Как да изчистите/изчистите буфера на опашката за съобщения във VxWorks?
Отговори (1)
Няма вграден 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 */
}
Трябва винаги да проверявате errno, когато получите грешка от което и да е извикване на OS API.
person
Benoit
schedule
27.07.2012
Thnx за Ур информация. и аз си мислех само по този начин.
- person Pratik; 30.07.2012