私が見ているように、タイムアウトを待つということは、タイムアウトを「持つ」ことを意味します。このようにして、poll() が実際に チェック することが期待できます。 ファイルディスクリプタをチェックし、0 ミリ秒のタイムアウトの準備ができていない場合は待機します (まったく待機しません)。 でも その場合は、fd が利用可能かどうかを通知するだけです。
Linux のソース コードもチェックしましたが、私の知る限りでは、このように動作します。最初に「将来の」待機ポイントを計算し、次にファイル記述子をチェックし、利用できない場合は指定されたタイムアウトまで待機します。
よろしく、
すぐに戻ります:
<ブロック引用>
timeout が 0 より大きい場合は、ファイル記述子の準備が整うまで待機する最大間隔 (ミリ秒単位) を指定します。タイムアウトがゼロの場合、poll()
ブロックせずに返します。 timeout の値が -1
の場合 、poll
無期限にブロックします。
、Mac OS X 10.5
現在;
ポーリングが完了するまで待機する最大間隔 (ミリ秒)。この値が 0 の場合、poll()
すぐに戻ります。この値が INFTIM (-1)
の場合 、 poll()
条件が見つかるまで無期限にブロックします。
、 OpenBSD 3.8
現在