I would like to use several communication mechanism (notification + queues + stream buffer) by one task.
But I cannot beacause I don’t see a mechnism that I can block particular task on several objects (e.g. notification + queue). I know that there is queue set API but it supports only queues +semaphores what about notifications, events or stream buffer.
Each of my tasks in the system has own queue and I cannot use any other nice communication mechanism becasue I’m not able to block on both. Do I miss something?
No, you don’t miss anything, but you could use a queue to tell the
waiting task what to check for. For example, if you send a notification
to a task, but the task is waiting on the ‘master’ queue, then also send
a message to the queue telling the receiving task to check its notification.