ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: FreeBSD & Linux disk AIO support



On Wed, Aug 26, 2009 at 03:11:25PM +0400, Andrei Nigmatulin wrote:

> On Wednesday 26 August 2009 14:45, Igor Sysoev wrote:
> > On Wed, Aug 26, 2009 at 02:27:13PM +0400, Dmitriy Timokhin wrote:
> > > 2009/8/26 Igor Sysoev <is@xxxxxxxxxxxxx>:
> > > > Ещё один патч. Должен работать с glibc 2.7.
> > >
> > > В src/os/unix/ngx_linux_config.h не хватает #if (NGX_HAVE_EVENTFD2 ||
> > > NGX_HAVE_EVENTFD) .. #endif вокруг #include <sys/eventfd.h>
> > > Если их добавить -- начинает собираться на glibc2.7
> >
> > В общем, я решил всегда вызывать eventfd() как сискол.
> > С этим glibc и двумя разными eventfd() один геморрой.
> 
> А зачем вообще eventfd2() нужен в nginx ? Только чтобы сэкономить на вызове, 
> который сделает дескриптор неблокируемым ?
> 
> А смысл в этом, если eventfd вызывается только при старте nginx ?

Проблема в том, что если glibc знает про eventfd2, то у функции eventfd()
прототип с двумя параметрами, а если не знает, то - с одним. Очень удобно.


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



 




Copyright © Lexa Software, 1996-2009.