PCLとGNU Pth

5分で両方のAPIリファレンスを流し読みしただけなので、あんまり参考にしないように。

Pthはpthread互換APIを目指してるようなかんじ。APIがみょーに多い。システムコールがスレッドの中で呼ばれることを気にしている様子。(あの悪しきスレッドキャンセルへの対応をきちんとやっている印象)

PCLは500行未満のライブラリで、本当にsetjmp/longjmp+スタック交換のみみたい。

というわけでPCLを使おうと思うのだけれども、例外処理がどうなるのか不安。Windowsゲームプログラミング2によると、Windows/VC++環境だとSEH用のスタックポインタがfs[0]に保存されているらしい。これを退避させておけばよさそうだ。g++の場合は例外処理の実装が2種類あったはずだし、もうちょっとややこしくなりそう。調査が必要。