私のプログラムでは、(select関数を使用して)最大4つの接続を受け入れます。接続が完了すると、5秒間文字列を送信して、接続を維持したいことを示します。 5秒以内に送信しないか、間違ったパスコードを持つものは切断されます。Cの接続のタイムアウト
接続が確立されるたびにフォークされる小さなタイマープログラムを作成しました。フォークされたタイマーは、5秒が経過すると元のプログラムに信号を返します。この場合、シグナルハンドラはファイル記述子を閉じ、接続をクリアします。
私の問題は、シグナルハンドラがトリガされるたびに、select()は-1が返って失敗したことを示します。誰がなぜこれが起こっているのか知っていますか?それとも、別のタイミング機構があるのでしょうか?
selectが-1を返すとき、errnoとは何ですか?それがあなたの最大のヒントです。 – Duck