GNU/Linux >> Znalost Linux >  >> Linux

Co dělá poll() s časovým limitem 0?

Jak vidím, čekání na časový limit znamená „mít“ časový limit. Tímto způsobem bych očekával, že poll() ve skutečnosti kontroluje deskriptory souborů a poté čeká, pokud není nikdo připraven, na časový limit 0 milisekund (vůbec žádné čekání). Ale případ je, že to bude pouze signalizovat, pokud je k dispozici fd.

Zkontroloval jsem také zdrojový kód linuxu a podle mých znalostí to funguje takto:nejprve vypočítá „budoucí“ čekací bod, poté zkontroluje deskriptory souborů, a pokud žádné nejsou k dispozici, počká po stanovenou dobu.

S pozdravem


Okamžitě se vrátí:

Pokud je časový limit větší než nula, určuje maximální interval (v milisekundách) pro čekání, než bude připraven jakýkoli deskriptor souboru. Pokud je časový limit nula, pak poll() vrátí se bez blokování. Pokud je hodnota časového limitu -1 , poll blokuje na dobu neurčitou.

, ke dni Mac OS X 10.5;

Maximální interval čekání na dokončení dotazování v milisekundách. Pokud je tato hodnota 0, poll() se okamžitě vrátí. Pokud je tato hodnota INFTIM (-1) , poll() bude blokovat na dobu neurčitou, dokud nebude nalezena podmínka.

, ke dni OpenBSD 3.8


Linux
  1. Co je nového s rdiff-backup?

  2. Co znamená „–“ (dvojitá pomlčka)?

  3. Má Curl časový limit?

  1. Co dělá Echo $? Dělat??

  2. Co Libgl_always_indirect=1 ve skutečnosti dělá?

  3. Ekvivalent Waitpid s časovým limitem?

  1. Co vrátí malloc(0)?

  2. Co znamená 'cd -'?

  3. Co dělá 'bash -c'?