簡単な解決策として、wxWidgetsのソースコードを見てどう実装しているか確認した。非MSW環境ではwxMutexにマッピングしていて、TryEnterもあるので、ぴったりマッピングできた。
SVNに溜まっていた変更をすべてチェックインした。util.hのCCriticalSectionの全面的な見直しと、util.cppのOpenSSLのmutexコールバックも含めて、Windows以外ではすべてwxWidgetsで動作するようにした。
Linuxで動作するようになったら、まずここでオフネットワークでテストスイートを実行して、その後LibertyStandardに未リリースのビルドを渡して公開前にしばらくテストしてもらおう。
マルッティ・マルミのメール(2009年10月29日04:08 UTC)サトシ・ナカモトのメール(2009年10月29日02:05 UTC)CriticalSectionのコードをwxCriticalSectionに変換してSVNにアップロード するよ(少しトリッキーだけど)。TryEnterCriticalSectionをどうするかは まだわからない。もうすぐすべてチェックインできる状態になると思う。
Boostのmutexはここで役に立ちますか?
http://www.boost.org/doc/libs/1_40_0/doc/html/thread/synchronization.html#thread.synchronization.mutex_concepts