I understand that ISRs cannot block waiting on mutexes. However, I would like to take a mutex in an ISR only if it is available, and not otherwise. This is equivalent to pthread_mutex_trylock in posix threads. Is it safe to call xSemaphoreTake with a timeout of 0 from an ISR in all cases? I’m not sure why this wouldn’t work, but the API reference says it doesn’t. Is there another way to handle this? Or is this operation unsupported by FreeRTOS?