Subject says it all. If too many tasks are waiting on a single Mutex, will the next xSemaphoreTake() fail?
Other users will correct me if I’m wrong, but within FreeRTOS, the number of waiters for a queue or a mutex is unlimited.
Waiters are put into a list, sorted on task priority. FreeRTOS has implemented a list in a very smart way. Every object that is linkable to a list, has a member of the type
ListItem_t. This means that attaching or detaching does not need malloc/free. The list-item of an object will be linked into the list.