GNU/Linux >> Linux Esercitazione >  >> Linux

Cosa fa poll() con un timeout pari a 0?

Per come la vedo io, aspettare un timeout significa "avere" un timeout. In questo modo mi aspetterei che poll() effettivamente controlli i descrittori di file, quindi attende se nessuno è pronto per un timeout di 0 millisecondi (nessuna attesa). Ma il caso è che segnalerà solo se è disponibile un fd.

Ho anche controllato il codice sorgente di Linux e, per quanto ne so, funziona così:prima calcola il punto di attesa "futuro", quindi controlla i descrittori di file, quindi, se non sono disponibili, attende il timeout specificato.

Saluti,


Ritornerà immediatamente:

Se timeout è maggiore di zero, specifica un intervallo massimo (in millisecondi) per attendere che qualsiasi descrittore di file sia pronto. Se il timeout è zero, allora poll() tornerà senza bloccare. Se il valore di timeout è -1 , il poll blocchi a tempo indeterminato.

, a partire da Mac OS X 10.5;

Intervallo massimo di attesa per il completamento del sondaggio, in millisecondi. Se questo valore è 0, poll() tornerà immediatamente. Se questo valore è INFTIM (-1) , poll() si bloccherà indefinitamente finché non viene trovata una condizione.

, a partire da OpenBSD 3.8


Linux
  1. Cosa significa "-" (doppio trattino)?

  2. Il curl ha un timeout?

  3. Cosa fa Eco $? Fare??

  4. Cosa fa effettivamente Libgl_always_indirect=1?

  5. Cosa fa . ~/.bashrc Comando Fare??

Cosa fa ?

Cosa fa Exec 3?

Cosa fa Gnome con i tasti multimediali?

Waitpid equivalente con timeout?

Bash:aspetta con timeout

Cosa fa ulimit -s illimitato?