別に Unix に限ったことじゃないと思うが...。
(Windows は GetLastError() だったりするけど。)

ていうか、>>20 は場当たり的杉。
select が -1 を返す
⇒ 「シグナル割り込みが発生していると思う」
⇒ 「シグナルを無視する」

errno みて、「あっ ! 割り込まれてんじゃん !!」とわかったら、「誰がシグナル送っとんじゃ、ゴラァー !!」と思うのが普通だと思ってたけど、最近はみんなこうなのか ?