Multiple tasks woken from ISR in V5.0.2?

I’m running V5.0.2 on an Atmel AT3UCA0512. The UART ISR handles both transmitter empty and receiver full interrupts by either pulling a character from a queue or posting a character to a queue. If both conditions are simultaneously true then the ISR could potentially activate TWO tasks. Is this possible, or illegal, or what? How would I handle this? Would I detect that the 1st task has been activated and ignore the 2nd interrupt cause, leaving the IRQ to fire again and then handling the 2nd interrupt source? Or do I just note that a task was activated and let taskYIELD_FROM_ISR() figure it out?

Multiple tasks woken from ISR in V5.0.2?

No problem. void interrupt_routine( void ) { int Woken = 0;   // Do something.   // Send to a task. Woken will be set   // to true if this send wakes a task.   xQueueSendFromISR(q, &Woken);   // Do something else.   // Send to another task. Again, Woken   // will be set to true if this send   // wakes a task.   xQueueSendFromISR(q2, &Woken);   // Two sends so you might have woken   // two tasks. FreeRTOS will have done   // this for you, but will always return   // to the highest priority ready task   // which might be one of the two tasks   // woken in this isr, or might be the   // task that was originally running   // anyway.   portYIELD_FROM_ISR(Woken); }

Multiple tasks woken from ISR in V5.0.2?

Great, thanks !!!