pthreadのcondvarでループを書くこともあれば、
fdもcondvarも同時に待ちたいこともある。
そうなるとselectじゃ待てなくて途方にくれる。
win32だったら何でもかんでもWaitForMultipleObjects系で待てるんだから、
linuxでも何か手があるんじゃないか?
とgoogleに聞くと、やっぱ困っているひとは居るようで。
Socket/Pipe and Condition Variables (select + cond_wait?)
http:/
読むと話がずれてる感あるけど、結局pipeを使って起こすという話。実際それしかない気がする。
ポーリングって60fpsで動けばいいや的なノリですか。いいのか?だめだろう。
てことで、win32の同期系APIは後発の分よくできている、と言いたいところだけど、
便利さや効率を追求する余りAPIが乱立しすぎで美しくないのも事実。
OSの設計は難しいですね。