>>730
UNIX のソケットしか知らないんだけど、あるソケットをクローズしたら、
そのソケットディスクリプタを格納する変数に、-1 を放り込んでおいて、
何らかのエラー発生時には、値が -1 以外のものをクローズする、ってのは
どう? よくやる手法だと思うんだけど。

クローズ時。

 close(s);
 s = -1;

エラーで全部をクローズする時。

 if (s >= 0) close(s);