checking for OS
+ Linux 2.4.29-s2 i686
+ using rt signals
checking for epoll ... found
Собирается модуль rtsig, но ведь epoll то находит, почему не использует?
Из-за ядра?
epoll тоже используется. Всё, что показывается с '+' задаётся жёстко
в зависимости от версии системы, а не на основании тестов. Под FreeBSD
например, это выглядит так:
checking for OS
+ FreeBSD 5.3-RELEASE i386
+ using sendfile()
+ using kqueue
+ using kqueue's NOTE_LOWAT
Там, где я знаю, что у какой-либо фичи есть проблемы, даже при том, что
тесты
показывают наличие этой фичи, я её не использую.
У меня под Linux 2.6.10 epoll собрался, но не работал, пришлось насильно
заставить с poll работать.
Вместо poll в данном случае лучше использовать rtsig.
А в логах
2005/01/26 05:33:43 [emerg] 8071#0: epoll_create() failed (38: )
Это как то лечится?
38 - это ENOSYS, "Function not implemented". Очень странно. На ядре 2.6.10
epoll должен быть.
epoll сейчас собирается при условии, что есть include'ы и библиотеки,
поддерживающие его. Возможность использования его в run-time не проверяется,
это было сделано специально для сборки пакетов.
Игорь Сысоев
http://sysoev.ru