For how long does a low priority task run at the higher priority when priority inheritance comes into play?
os_mut_wait(0xFFFE); If a high priority task is waiting a long time I would expect the low priority task to run at high priority until the resource is released.
os_mut_wait(mutex, 1); If the high priority task is configured to wait a short time does the low priority task revert to its low priority after that time?
os_mut_wait(mutex, 0); In particular if the timeout is 0, does priority inheritance come into effect at all?
Robert, many thanks for that information - the zero wait explains why my code gets into a deadlock sometimes. The short wait is interesting and probably not what the coder of the high level task would expect - but at least knowing that it can wait an unexpectedly long time allows us to code against it. It would be great if your findings were in the documentation.