io_destroy -
уничтожает
асинхронный
контекст
ввода-вывода
Standard C library (
libc,
-lc)
#include <linux/aio_abi.h> /* определения aio_context_t */
#include <sys/syscall.h> /* определения констант SYS_* */
#include <unistd.h>
int syscall(SYS_io_destroy, aio_context_t ctx_id);
Note: glibc provides no wrapper for
io_destroy(), necessitating
the use of
syscall(2).
Note: this page describes the raw Linux system call interface. The
wrapper function provided by
libaio uses a different type for the
ctx_id argument. See NOTES.
Системный
вызов
io_destroy()
пытается
отменить
все
невыполненные
асинхронные
операции
ввода-вывода,
относящиеся
к
ctx_id,
заблокировать
выполнение
выполнение
всех
операций,
которые
нельзя
отменить, и
уничтожить
ctx_id.
В случае
успешного
завершения
io_destroy()
возвращает
0. В случае
ошибки
смотрите
ЗАМЕЧАНИЯ.
- EFAULT
- Указанный
контекст
некорректен.
- EINVAL
- Некорректен
контекст AIO,
указанный
ctx_id.
- ENOSYS
-
io_destroy() не
реализован
для этой
архитектуры.
Асинхронные
системные
вызовы
ввода-вывода
впервые
появились
в Linux 2.5.
Вызов
io_destroy()
есть
только в Linux, и
он не
должно
использоваться
в
переносимых
программах.
You probably want to use the
io_destroy() wrapper function provided by
libaio.
Заметим,
что в
обёрточной
функции
libaio
используется
другой тип (
io_context_t)
аргумента
ctx_id. Также
заметим,
что
libaio не
следует
соглашениям
обычной
библиотеки
C для
возврата
ошибок: при
ошибке она
возвращает
отрицательный
номер
ошибки (из
списка в
разделе
ОШИБКИ).
Если
системный
вызов
вызывается
с помощью
syscall(2), то
возвращаемое
значение
следует
обычным
соглашениям
для
указания
на ошибку:
возвращается
-1 и в
errno
записывается
(положительное)
значение
возникшей
ошибки.
io_cancel(2),
io_getevents(2),
io_setup(2),
io_submit(2),
aio(7)
Русский
перевод
этой
страницы
руководства
был сделан
Azamat Hackimov <
[email protected]>, Dmitriy S. Seregin
<
[email protected]>, Yuri Kozlov <
[email protected]> и
Иван
Павлов <
[email protected]>
Этот
перевод
является
бесплатной
документацией;
прочитайте
Стандартную
общественную
лицензию GNU
версии 3
или более
позднюю,
чтобы
узнать об
условиях
авторского
права. Мы не
несем
НИКАКОЙ
ОТВЕТСТВЕННОСТИ.
Если вы
обнаружите
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
отправьте
электронное
письмо на
[email protected]