簡単な解決策として、wxWidgetsのソースコードを見てどう実装しているか確認した。非MSW環境ではwxMutexにマッピングしていて、TryEnterもあるので、ぴったりマッピングできた。
SVNに溜まっていた変更をすべてチェックインした。util.hのCCriticalSectionの全面的な見直しと、util.cppのOpenSSLのmutexコールバックも含めて、Windows以外ではすべてwxWidgetsで動作するようにした。
Linuxで動作するようになったら、まずここでオフネットワークでテストスイートを実行して、その後LibertyStandardに未リリースのビルドを渡して公開前にしばらくテストしてもらおう。
mmalmi@cc.hut.fi の書き込み:
CriticalSectionのコードをwxCriticalSectionに変換してSVNにアップロード するよ(少しトリッキーだけど)。TryEnterCriticalSectionをどうするかは まだわからない。もうすぐすべてチェックインできる状態になると思う。
Boostのmutexはここで役に立ちますか?
出典:COPA対ライト裁判の証言の一環として、2024年2月にマルッティ・マルミによりGitHubで公開。完全な書簡アーカイブはmmalmi.github.io/satoshi/で閲覧可能。