Rainer Weikusat writes: > This can be avoided by ensuring that each thread which needs to hold A
> and B acquired A first and B second.
Every time I've run into that in the past ten years, the reason for the
deadlock was that subsystem X locked B and subsystem Y Z, and then someone
made a function in X call one in Y.