1 スレッドライブラリが用意されている環境ならば、
 #define errno (* __error())
 のようにスレッド毎の変数になっているので安全。
2 システムコールやライブラリでエラーが発生したときに
 errnoが 更新させる仕様なので、コールする前にerrnoを
 クリアする必要はない。しかしerrnoを比較するとこでエ
 ラー判定をしてはいけない。システムコールならば戻り値
 が負、ライブラリならばその仕様に従いエラー判定を行う。