Tal como lo veo, esperar un tiempo de espera significa "tener" un tiempo de espera. De esta manera, esperaría que poll() realmente verifique los descriptores del archivo, y luego espera si nadie está listo a un tiempo de espera de 0 milisegundos (sin esperar en absoluto). Pero el caso es que solo señalará si hay un fd disponible.
También verifiqué el código fuente de Linux y, según mi conocimiento, funciona de esta manera:primero calcula el punto de espera "futuro", luego verifica los descriptores del archivo y luego, si no hay ninguno disponible, espera el tiempo de espera especificado.
Saludos,
Volverá inmediatamente:
Si el tiempo de espera es mayor que cero, especifica un intervalo máximo (en milisegundos) para esperar a que cualquier descriptor de archivo esté listo. Si el tiempo de espera es cero, entonces poll()
regresará sin bloquear. Si el valor del tiempo de espera es -1
, el poll
bloquea indefinidamente.
, a partir del Mac OS X 10.5
;
Intervalo máximo de espera para que se complete el sondeo, en milisegundos. Si este valor es 0, poll()
regresará inmediatamente. Si este valor es INFTIM (-1)
, poll()
se bloqueará indefinidamente hasta que se encuentre una condición.
, a partir de OpenBSD 3.8