GNU/Linux >> Linux の 問題 >  >> Linux

poll() はタイムアウト 0 で何をしますか?

私が見ているように、タイムアウトを待つということは、タイムアウトを「持つ」ことを意味します。このようにして、poll() が実際に チェック することが期待できます。 ファイルディスクリプタをチェックし、0 ミリ秒のタイムアウトの準備ができていない場合は待機します (まったく待機しません)。 でも その場合は、fd が利用可能かどうかを通知するだけです。

Linux のソース コードもチェックしましたが、私の知る限りでは、このように動作します。最初に「将来の」待機ポイントを計算し、次にファイル記述子をチェックし、利用できない場合は指定されたタイムアウトまで待機します。

よろしく、


すぐに戻ります:

<ブロック引用>

timeout が 0 より大きい場合は、ファイル記述子の準備が整うまで待機する最大間隔 (ミリ秒単位) を指定します。タイムアウトがゼロの場合、poll() ブロックせずに返します。 timeout の値が -1 の場合 、poll 無期限にブロックします。

Mac OS X 10.5現在;

<ブロック引用>

ポーリングが完了するまで待機する最大間隔 (ミリ秒)。この値が 0 の場合、poll() すぐに戻ります。この値が INFTIM (-1) の場合 、 poll() 条件が見つかるまで無期限にブロックします。

OpenBSD 3.8 現在


Linux
  1. rdiff-backupの新機能

  2. 「–」(二点鎖線)とはどういう意味ですか?

  3. 何をしますか?

  1. Exec 3とは何ですか?

  2. Gnomeはマルチメディアキーで何をしますか?

  3. Libgl_always_indirect =1は実際に何をしますか?

  1. malloc(0) は何を返しますか?

  2. 「cd -」は何の略ですか?

  3. 「bash -c」は何をしますか?