io_cancel(2)

НАИМЕНОВАНИЕ
io_cancel - отменяет невыполненную асинхронную операцию ввода-вывода

БИБЛИОТЕКА
Стандартная библиотека языка C (libc, -lc)

СИНТАКСИС
#include <linux/aio_abi.h>    /* Definition of needed types */
#include <sys/syscall.h>      /* Definition of SYS_* constants */
#include <unistd.h>

int syscall(SYS_io_cancel, aio_context_t ctx_id, struct iocb *iocb,
            struct io_event *result);

ОПИСАНИЕ
Note: you probably want to use the io_getevents(3) wrapper function provided by libaio; see VERSIONS.

Системный вызов io_cancel() пытается отменить асинхронную операцию ввода-вывода, ранее отправленную системным вызовом io_submit(2). В В параметре iocb указывается отменяемая операция, а в параметре ctx_id задаётся идентификатор контекста AIO отправленной операции. Если операция успешно отменена, то событие будет скопировано в память, куда указывает result, без помещения в очередь выполнения.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
On success, io_cancel() returns 0. On error, -1 is returned, and errno is set to indicate the error.

ОШИБКИ

EAGAIN
    Указанный iocb не был отменен.

EFAULT
    Одна из структур данных указывает на некорректные данные.

EINVAL
    Некорректен контекст AIO, указанный ctx_id.

ENOSYS
    Вызов io_cancel() не реализован для этой архитектуры.

ВЕРСИИ
libaio (https://pagure.io/libaio) provides a wrapper function with the same name, but different prototype and return value. You probably want to use that wrapper.

СТАНДАРТЫ
Linux.

ИСТОРИЯ
Linux 2.5.

СМОТРИТЕ ТАКЖЕ
io_destroy(2), io_getevents(2), io_setup(2), io_submit(2), io_cancel(3), aio(7)

ПЕРЕВОД
Русский перевод этой страницы руководства разработал(и) Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitriy S. Seregin <dseregin@59.ru>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков (debian-l10n-russian@lists.debian.org).