指定された関数の 1 つを呼び出すことで、逆転させられる可能性のあるロックのみを表示します(「ロックの逆転」 を参照) 。
キーワード directly が指定された場合は、指定された関数 (スレッドライブラリルーチンを使って、実際にロックの獲得および解放を行う関数) によって直接逆転させられるロックのみが表示されます。キーワード directly が指定されない場合は、指定された関数のどれか 1 つによって保持され、そこから呼び出される関数によって逆転させられる (以下同様の) ロックも表示されます。たとえば、以下のコードでは、f1 は m1 を直接逆転し、さらに、m2 を間接的に逆転しています。
f1() { pthread_mutex_unlock(&m1); f2(); pthread_mutex_lock(&m1); } f2() { f3(); } f3() { pthread_mutex_unlock(&m2); pthread_mutex_lock(&m2); }