асинхронный ввод/вывод , gobsy, 06-Июн-08, 08:49 [смотреть все]Здравствуйте все! Занимаюсь разработкой ПО на Си под 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... Вобщем я не понимаю в чем дело? немогли бы вы мне разьяснить ситуацию.
|
- асинхронный ввод/вывод , artur, 09:50 , 06-Июн-08 (1)
>созданием корки. Ругается на bad system call... протестил, блин действительно валится из-за SIGSYS )) kernel: options VFS_AIO или kldload aio (по ходу огребаем огромный варнинг) и все работает. ("qqqq" это ведь чисто для примера ?)
- асинхронный ввод/вывод , gobsy, 10:31 , 06-Июн-08 (2)
>и все работает. ("qqqq" это ведь чисто для примера ?) Спасибо большое за совет, с kldload aio прокатило! А "qqqq" это просто пример, да там нужно вызвать aio_write(), я ж собственно записать хотел, а не считать!
|