ロック/ロック解除コンテキスト外のユーザー空間で do_futex() 呼び出しの機能が必要です。つまり、ミューテックスは必要ありませんが、カーネルの正確なセマンティクスは do_futex を呼び出します。
システムコールの数を最小限に抑えることが目的だったので、ユーザー空間で利用できるはずですが、リンクできません。
または、システムコールはありますか?
アップデート:
現在、syscall(__NR_futex, ...) を使用して do_futex() を実行しています。しかし
- 醜い__NR_futexを取得するためにインクルードする必要があります
- FUTEX_WAIT と FUTEX_WAKE を取得するために含める必要がありますが、それでも EWOULDBLOCK、または WAKE の最大スレッド数を取得できません。
コヒーレントラッパーはありますか?