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
|