シグナルハンドラをグローバルなフラグを立てるためだけに使う。処理しなければならないことを示す。セットして戻ることになる。永遠に停止し続けることになる。条件文があるとしよう。ここで少し考えてみないといけない。永遠に停止する」である。コールによって解決できる。マスクして除外するのに使用できる。問題となっているイベントが子プロセスの終了の場合を考えよう。使って有効にするのだ。このプログラムは次のようになる。なんの動きもなければプロセスを適切にスリープ状態に移行するところにあるのだ。データの流れは間欠的である、という状況によく出会う。いうことになってしまうだろう。()を使うとこの状況に効果的に対処できる。マニュアルページに書かれている。()の本当に便利な点を示す、よい例を紹介する。フォワードプログラムである。接続をフォワードする。シグナルデータも扱える。ややこしい問題も処理できる。いう人もいるかもしれない。これは考えているよりずっとややこしい。セットすれば良い、というアイデアもあるだろう。これにも実際には問題があり、タイムアウトが非効率的に起こってしまう。現時点のものでは、新しい接続がくると古い接続は落ちてしまう。できたものは移植性がないか、よくてもギリギリのものになってしまう。しなくても、どこにもブロックが生じないよう注意して書かれている。()を使う利点は簡単に失われてしまう。()コールを使うときに注意すべき重要事項をリストしようと思う。()を使うときは、タイムアウトは設定すべきでない。あなたのプログラムには何もすることは無いはずである。デバッグも難しくなる。値を適切に計算して与えなければならない。どの集合にも加えてはならない。読み書き可能な状態になっているかをチェックすべきである。いった関数は、こちらが要求した全データを読み書きする必要はない。ストリームが速い場合だろう。この条件は常に満たされるとは限らない。考慮に入れてやらなければならない。バイトずつ読み書きするようなことはしてはならない。このサイズを大きくするのは簡単だろう。(上記の例ではしていない)。返されることはあまり考えられない。返されることはないだろう。完全を期するならば、これらのエラーを考慮に入れる必要がある。呼び出してはならない。それが集合に含まれ続けるのを許さないようにしている。()を呼ぶたびに初期化すべきである。構造体が変更される場合があるからである。構造体を変更することはない。データを正しく処理しないらしい。()コールも正しく処理しないらしい。呼び出すことで、これを代用できる。