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.
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.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.