PxMutexHolder

Hi! We would like to modify the value of the system variable pxMutexHolder defined in the file task.c, how can we access its value through a function? We tried to change its value from our main() but it didn’t work since pxMutexHoder cannot be accessed by our application.

PxMutexHolder

I don’t think pxMutexHolder is a system variable defined inside tasks.c. The function xTaskPriorityInherit() has a parameter called pxMutexHolder – is that what you mean? That parameter is local to the function xTaskPriorityInherit() so can’t be changed. The mutex holder value is actually stored inside a queue structure, which is defined in queue.c, not a task control block. You could potentially change the value stored in the queue itself, that could be done using the traceBLOCKINGONQUEUE_RECEIVE() macro which gets executed (if defined) immediately before xTaskPriorityInherit() is called. This is very detailed and messy though, and don’t expect anything to work after you have modified it.