Queue set – reseting

Hello I have 2 queues and a task that is designed as a state machine. In some states I need to pend only on one queue among the two I mentioend above and in one specific state – on both of the queues. For this specific case I created a queue set. Thus, we have: 1. Two separates quees 2. The queue set that consits of 2 the same queues The problem I’m facing is that whenever I receive a message on on of the queues in some states, this triggers the queue set too and when I move to the task state where I pend on the queue set I immediately wakeup because the queue was set by posting to one of its queues. Then, after my queue set wakes up I need to receive a message from this queue and the queue is empty causing configASSERT to fail. My question is about a way to overcome the problem I expalined above? THat is to say, if I receive a message on the queue while blocking on it, reset the QueueSet so it wont hurt another queue ? I do have a couple of ideas : 1. Not to use the Queue set, but to create a separate task for the 2nd queue 2. When I wakeup on the queue set and then I check which is the activated member, to ignore the message if the activated member is empty Hope my description is clear enough. Thanks for any advice !

Queue set – reseting

Hope my description is clear enough.
Afraid not :o) The only way to use a queue set is to always read from the queue set first, then always read from the queue the set tells you contains data – otherwise the state of the queue and the state of the set become inconsistent. You could do something like every time you write to a queue you follow up by writing to a something like a counting semaphore – then have the receiving tasks block on the counting semaphore if they need to block, then peek each queue to see which contains data when they unblock.