Здравствуйте все!
Занимаюсь разработкой ПО на Си под FreeBSD 5.3
Вчера, начал разбираться с функциями асинхронного ввода/вывода
написал небольшой пример
:
int main(void)
{
int fd;
fd = open(file,O_RDWR);
struct aiocb cb;
cb.aio_fildes = fd;
cb.aio_offset = 0;
cb.aio_buf = "qqqq";
cb.aio_nbytes = 4;
cb.aio_sigevent.sigev_notify = SIGEV_NONE;
if (aio_read (&cb) < 0)
{
perror ("aio_read");
return (EXIT_FAILURE);
}
exit(0);
}
Программка компилируется, собиратся, но при запуске вылетает с созданием корки. Ругается на bad system call...
Вобщем я не понимаю в чем дело? немогли бы вы мне разьяснить ситуацию.
>созданием корки. Ругается на bad system call...протестил, блин действительно валится из-за SIGSYS ))
kernel: options VFS_AIO
или
kldload aio
(по ходу огребаем огромный варнинг)и все работает. ("qqqq" это ведь чисто для примера ?)
>и все работает. ("qqqq" это ведь чисто для примера ?)Спасибо большое за совет, с kldload aio прокатило!
А "qqqq" это просто пример, да там нужно вызвать aio_write(), я ж собственно записать хотел, а не считать!