warning: epoll_create is not implemented and will always fail

Igor Sysoev is at rambler-co.ru
Sun Sep 24 15:29:34 MSD 2006


On Sun, 24 Sep 2006, Alexey Mahotkin wrote:

> при сборке nginx на нашей маниакально сконфигурированной (вне моего
> контроля) Slackware при линковке бинарника имеем:
>
> objs/src/event/ngx_event.o(.text+0xdbc): In function `ngx_event_init_conf':
> src/event/ngx_event.c:1140: warning: warning: epoll_create is not
> implemented and will always fail
> objs/src/event/modules/ngx_epoll_module.o(.text+0x1cc): In function
> `ngx_epoll_add_event':
> src/event/modules/ngx_epoll_module.c:250: warning: warning: epoll_ctl
> is not implemented and will always fail
> objs/src/event/modules/ngx_epoll_module.o(.text+0x416): In function
> `ngx_epoll_process_events':
> src/event/modules/ngx_epoll_module.c:402: warning: warning: epoll_wait
> is not implemented and will always fail

Это круто. Учитывая, что nginx при configure выполняет epoll_create()
и разрешает его использование только при успешном выполнении.

> При этом nginx взлетает, говорит в логе, что использует epoll и даже
> вроде бы не очень медленно работает.   Но недавно у нас начали
> дропаться SYN'ы, и нам советуют попробовать ускорить процесс приёма
> новых соединений.

Возможно, в ядре нужно увеличить listen backlog.

> Тестовая аппликуха от epoll, как сказал мне хозяин машины, работает 
> нормально.
>
> Может ли быть так, что nginx действительно получает от epoll_create
> код ошибки и тихо даунгрейдится до какого-нибудь select(), прости
> господи?

Нет, в этом случае worker просто выходит с кодом 2, и master не запускает
новые. Временное переключение на poll происходит только при переполнении
rtsig.


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list