How to detect task overruns

@rtel thank you for supporting this discussion.

AFAIK and per documentation, task waiting on notification is in blocked state. Task that has taken one and is not running yet is in ready state. Thus ready and running are collison states.

That’s the question if eTaskGetState() is safe from timer ISR when that ISR is the highest priority that is allowed to invoke RTOS services. When there are higher priority ISRs they do not interct with OS and can’t interfere with eTaskGetState(). Even when they do they would put queried task into ready state.

What’s wrong with this logic?