GNU/Linux >> Tutoriels Linux >  >> Linux

Que fait poll() avec un timeout de 0 ?

Selon moi, attendre un délai d'attente signifie "avoir" un délai d'attente. De cette façon, je m'attendrais à ce que poll() effectivement vérifie les descripteurs de fichier, puis attend si personne n'est prêt jusqu'à un délai de 0 milliseconde (pas d'attente du tout). Mais le cas est qu'il signalera simplement si un fd est disponible.

J'ai également vérifié le code source de Linux et à ma connaissance, c'est ainsi que cela fonctionne :calcule d'abord le "futur" point d'attente, puis vérifie les descripteurs de fichiers, puis s'il n'y en a pas de disponible, attend le délai d'attente spécifié.

Cordialement,


Il reviendra immédiatement :

Si le délai d'attente est supérieur à zéro, il spécifie un intervalle maximal (en millisecondes) pour attendre que n'importe quel descripteur de fichier soit prêt. Si le délai d'attente est nul, alors poll() reviendra sans blocage. Si la valeur de timeout est -1 , le poll bloque indéfiniment.

, depuis le Mac OS X 10.5;

Intervalle maximal d'attente pour la fin de l'interrogation, en millisecondes. Si cette valeur est 0, poll() reviendra immédiatement. Si cette valeur est INFTIM (-1) , poll() bloquera indéfiniment jusqu'à ce qu'une condition soit trouvée.

, depuis OpenBSD 3.8


Linux
  1. Quoi de neuf avec rdiff-backup ?

  2. Que fait "lc_all=c" ?

  3. Qu'est-ce que c'est ?

  4. Que fait Exec 3 ?

  5. Que fait Gnome avec les touches multimédias ?

Qu'est-ce que Echo $ ? Faire??

Que retourne malloc(0) ?

Que signifie 'cd -' ?

Que fait 'bash -c' ?

Que fait kill -- -0 ?

Qu'est-ce que echo $ ? fais?