AD (09.07.2012 12:31, просмотров: 451) ответил =AlexD= на Бугога, select это надстройка над poll, которое есть полинг события с интервалом времени. По настоящему асинхронны в линухе только специальные функции асинхронного ввода-вывода.
Ерунда Почитай исходники ядра или любую книжку по драйверам линукса.
poll в драйвере делает следующее
1. Call poll_wait on one or more wait queues that could indicate a change in the poll status. If no file descriptors are currently available for I/O, the kernel causes the process to wait on the wait queues for all file descriptors passed to the system call.
2. Return a bit mask describing the operations (if any) that could be immediately performed without blocking.
schedule_timeout(__timeout) по ссылке нужен для того, чтобы проснуться по истечении общего таймаута, если не произошло нужных событий.
Это, разумеется, не отменяет синхронности poll/select, которая в данном случае означает всего лишь отсутствие асинхронных callback'ов (signal).