How to peek a mutex?

Hi all: I have a FreeRTOS system compiled and working, but now arised the need to know (from a control task)
if a mutex is free or taken without taking it, this is I need to “peek” the mutex, as when peeking a queue.
Is this possible? Thanks in advance
Ignacio

How to peek a mutex?

One way to do this is a take with a 0 tick timeout, and if successful immediately give it back.

How to peek a mutex?

Semaphores and queues use the same data structures.  I have not actually tried, but think you could probably pass a semaphore handle into xQueuePeek() successfully.  Give it a test to see. Regards.

How to peek a mutex?

Yeiiii!! it worked!
You must provide that… if(xQueuePeek((xQueueHandle)THE_mutex,(void *)NULL,(portTickType)NULL) != pdTRUE)
{ // the mutex is taken }else{
     // the mutex is free } Thank you
Ignacio