"Gabriel M. Beddingfield":
  So you see, by using a mutex... you have to consider
 those sections of code as being a part of your
 process() function. 
Great explanation, but you forgot to explicitly mention
that those sections of code also has to run with higher
or equal priority as the jack process to avoid priority
inversion.
Arnold Krille:
  Locks and waits are not realtime save. 
Not always true. But usually: yes. :-)