А не должен ли собраться метод epoll?
Igor Sysoev
is at rambler-co.ru
Fri Jan 28 14:51:05 MSK 2005
On Fri, 28 Jan 2005, Dmitry V. Lunin wrote:
>>> 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
More information about the nginx-ru
mailing list