FreeBSD & Linux disk AIO support

Igor Sysoev is at rambler-co.ru
Wed Aug 26 15:40:07 MSD 2009


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 at rambler-co.ru>:
> > > > Ещё один патч. Должен работать с 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





More information about the nginx-ru mailing list