The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
асинхронный ввод/вывод , !*! 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(), я ж собственно записать хотел, а не считать!




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру