次の要件に従って、C/C++ コードからファイルにアクセスするときにファイルロックを実行する必要があります。
- 異なるプロセスだけでなく、同じプロセスの異なるスレッドでもアクセスが発生した場合はブロックする必要があります
- LinuxおよびSolarisオペレーティングシステムで動作する必要があります。
私が見つけたポカントル(開いたファイル記述ロック(POSIXではありません))とグループ、最初の要件を満たしています。残念ながら、これらのAPIはSolarisにはありません。
私の使命を果たす最善の方法は何ですか?ファイルへの同時書き込みを防ぐ機能を使いたいです。スレッドの同期にミューテックスを使用しないで、プロセスの同期に fcntl を使用しないでください。