Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: FreeBSD disk AIO support
On Mon, Aug 24, 2009 at 02:23:55AM +0400, Andrei Nigmatulin wrote:
> On Monday 24 August 2009 01:13, Igor Sysoev wrote:
> > On Sun, Aug 23, 2009 at 10:44:58PM +0400, Вадим wrote:
> > > Здравствуйте.
> > >
> > > OpenSUSE 11.0 и выше, например.
> >
> > Поставил openSUSE 11.1.
> >
> > > uname -r
> >
> > 2.6.27.7-9-default
> >
> > > /lib/libc.so.6
> >
> > GNU C Library stable release version 2.9 (20081117), by Roland McGrath et
> > al. ...
> >
> > /usr/include/libaio.h:
> >
> > struct iocb {
> > PADDEDptr(void *data, __pad1); /* Return in the io completion
> > event */ PADDED(unsigned key, __pad2); /* For use in identifying io
> > requests */
> >
> > short aio_lio_opcode;
> > short aio_reqprio;
> > int aio_fildes;
> >
> > union {
> > struct io_iocb_common c;
> > ...
> >
> > struct io_iocb_common {
> > PADDEDptr(void *buf, __pad1);
> > PADDEDul(nbytes, __pad2);
> > long long offset;
> > long long __pad3, __pad4;
> > }; /* result code is the amount read or -'ve errno */
> >
> >
> > Полей .aio_flags и .aio_resfd в struct iocb нет. Ну и как это собирать ?
>
> А если
>
> -#include <libaio.h>
> +#include <linux/aio_abi.h>
>
> ?
В <linux/aio_abi.h> есть.
> Вообще кошмар какой-то развели на linux с aio: есть aio.h, libaio.h и
> linux/aio_abi.h. Что, зачем и почему так много - до конца не понятно...
aio.h - это POSIX AIO, а libaio.h и linux/aio_abi.h - это Линуксовый AIO.
И по идее, два последних должны соответстововать друг другу.
--
Игорь Сысоев
http://sysoev.ru
|