2010 年に Unix でクラッシュ時にミューテックスを自動的に解放するという質問に対するコメントで、jilles は次のように主張しました。
glibc は危険なショートカットを使用するため、glibc の堅牢なミューテックスは非常に高速です。カーネルがミューテックスを「EOWNERDEAD を引き起こす」とマークした場合、ミューテックスがまだ存在するという保証はありません。ミューテックスが破棄され、メモリーが、たまたま最後の所有スレッドの ID を適切な場所に含むメモリーマップファイルに置き換えられ、最後の所有スレッドがロックワードを書き込んだ直後に終了した場合 (ただし、ミューテックスをそのリストから完全に削除する前に)所有されているミューテックス)、ファイルが破損しています。Solaris および will-be-FreeBSD9 の堅牢なミューテックスは、このリスクを取りたくないため、低速です。
ロックが解除されていない限り (したがって、どのスレッドの堅牢なリストにも含まれていない限り)、mutex の破棄は合法ではないため、この主張を理解することはできません。また、そのようなバグ/問題を検索する参照も見つかりません。その主張は単に間違っていたのですか?
私が質問し、興味を持った理由は、これが同じ Linux の堅牢なミューテックス プリミティブに基づいて構築された私自身の実装の正確性に関連しているからです。