Простой пример для aio_write () - PullRequest
0 голосов
/ 11 февраля 2020

Я ищу простой пример для функции POSIX aio_write.

То, что я пробовал до сих пор

Ниже не так уж важно. Просто перейдите к ответу

Приведенный ниже код создает файл, но ничего не записывает в него. aio_error возвращает 22 (= quota exceeded, но на диске достаточно места и разрешение на чтение / запись).

1 Ответ

0 голосов
/ 11 февраля 2020

Проверка вашего кода с помощью отчетов valgrind Conditional jump or move depends on uninitialised value(s)

Проблема с вашим кодом

Aiocb не инициализирован.

Примеры

Примеры ниже не содержат никаких «успешных» проверок (например, file != NULL, et c). Это ради читабельности. В производительном коде вы должны проверить возвращаемые значения.

Example1

Программа ниже написана asdf; до outfile.txt. Структура aiocb инициализируется внутри createIoRequest()

Example2

Приведенная ниже программа просто расширяет приведенную выше, чтобы иметь две асинхронные c записи в файл

...