LINUX.ORG.RU

История изменений

Исправление zaz, (текущая версия) :

man usleep

The usleep() function suspends execution of the calling thread for (at least) usec microseconds ...

Тоесть в POSIX стантарте четко сказано что sleep не обязан просыпатся через указаное количество милисекунд, он обязан просыпаться НЕ мение чем указоное количество времени ...

Собственно все похожие вызовы (select, pool, epool и тд) имеют такое-же описание, в некоторых системах ОС сама принимает решение притормаживать слипы (например в OSX вы спокойно можете дернуть usleep на 40 милисикунд и проснуться через 10 СЕКУНД) - и это не бага, а в полне документированое поведение.

Исходная версия zaz, :

man usleep

The usleep() function suspends execution of the calling thread for (at least) usec microseconds ... [/qupte]

Тоесть в POSIX стантарте четко сказано что sleep не обязан просыпатся через указаное количество милисекунд, он обязан просыпаться НЕ мение чем указоное количество времени ...

Собственно все похожие вызовы (select, pool, epool и тд) имеют такое-же описание, в некоторых системах ОС сама принимает решение притормаживать слипы (например в OSX вы спокойно можете дернуть usleep на 40 милисикунд и проснуться через 10 СЕКУНД) - и это не бага, а в полне документированое поведение.