xQueueSelectFromSet set order
Posted by https://www.google.com/accounts on February 27, 2013
In which order are returned queues or semaphores if e.g. both binary semaphores were given?
I mean a use case on ARM CM3. During ISR0 a binary semaphore A is given . Meanwhile a different interrupt with the same priority occurs, it is pended waiting for the end of the ISR0. The ISR1 gives a semaphore B.
Both semaphores (A and B) belongs to a queue set C and were added in this order xQueueAddToSet(A), xQueueAddToSet(B).
If I call xQueueSelectFromSet(C) before ISR0, will be the semaphore A returned? And if I call xQueueSelectFromSet(C) again, will be the semaphore B returned immediately?
Thank you for explanation.
RE: xQueueSelectFromSet set order
Posted by Richard
on February 27, 2013
The order in which queues are added to a queue set is not important. The queue set reports events in the order in which the events are received. Therefore if semaphore A and semaphore B are in the same set, and semaphore A is given before semaphore B, then the queue set returns the handle of semaphore A first whatever. Likewise if semaphore B is given before semaphore A then the queue set will return the handle of semaphore B whatever.
Hope this helps.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.