accept関数

思いっきりバグでした。このaccept関数の第三引数(第二引数の構造体の大きさ)は、きちんと初期化して値を入れましょう。

len = sizeof(struct sockaddr_??);
c = accept(s,(struct sockaddr_?? *)&addr,len);

という具合です。
初期化し忘れたまま稼動しており、たまたまlenの値が負の値になり、acceptで落ちるという現象が発生していました。
あぁ コワイコワイ