Provided by: manpages-ru-dev_4.21.0-2_all bug

ИМЯ

       io_cancel - отменяет ожидающий асинхронный запрос ввода-вывода

LIBRARY

       Real-time library (librt, -lrt)

СИНТАКСИС

       #include <aio.h>

       int aio_cancel(int fd, struct aiocb *aiocbp);

ОПИСАНИЕ

       Функция   aio_cancel()  пытается  отменить  ожидающие  асинхронные  запросы  ввода-вывода  для  файлового
       дескриптора fd. Если значение  aiocbp  равно  NULL,  то  отменяются  все  запросы.  В  противном  случае,
       отменяется  только  запрос, описанный в управляющем блоке, на который указывает значение aiocbp (описание
       структуры aiocb смотрите в aio(7)).

       При отмене запроса посылаются обычные асинхронные уведомления (смотрите  aio(7)  и  sigevent(7)).  Запрос
       возвращает  состояние  (aio_return(3))  равное  -1,  а  состояние ошибки (aio_error(3)) устанавливается в
       ECANCELED. Управляющие блоки запросов, которые не могут быть отменены, не изменяются.

       Если запрос не может быть отменён, то он завершается как обычно после выполнения операции ввода-вывода (в
       этом случае aio_error(3) вернёт состояние EINPROGRESSS).

       В случае, если значение aiocbp не равно NULL и fd  отличается  от  файлового  дескриптора,  для  которого
       создавалась асинхронная операция, то поведение непредсказуемо.

       Список операций, которые можно отменять, зависит от реализации.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       Функция aio_cancel() возвращает одно из следующих значений:

       AIO_CANCELED
              Все запросы успешно отменены.

       AIO_NOTCANCELED
              Как минимум, один указанный запрос не отменён, так как он находится в состоянии выполнения. В этом
              случае можно проверить состояние каждого запроса с помощью aio_error(3).

       AIO_ALLDONE
              Все запросы выполнены ещё до вызова.

       -1     Произошла ошибка. Значение ошибки можно узнать из errno.

ОШИБКИ

       EBADF  Значение fd не является правильным файловым дескриптором.

       ENOSYS Функция aio_cancel() не реализована.

ВЕРСИИ

       Функция aio_cancel() доступна в glibc начиная с версии 2.1.

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).
       ┌─────────────────────────────────────────────────────────────────────┬──────────────────────┬──────────┐
       │ ИнтерфейсАтрибутЗначение │
       ├─────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────┤
       │ aio_cancel()                                                        │ Безвредность в нитях │ MT-Safe  │
       └─────────────────────────────────────────────────────────────────────┴──────────────────────┴──────────┘

СТАНДАРТЫ

       POSIX.1-2001, POSIX.1-2008.

ПРИМЕРЫ

       Смотрите aio(7).

СМ. ТАКЖЕ

       aio_error(3),  aio_fsync(3),  aio_read(3),  aio_return(3),  aio_suspend(3),  aio_write(3), lio_listio(3),
       aio(7)

ПЕРЕВОД

       Русский перевод этой страницы руководства был сделан Dmitry  Bolkhovskikh  <d20052005@yandex.ru>  и  Yuri
       Kozlov <yuray@komyakino.ru>

       Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3
       или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если  вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо
       на man-pages-ru-talks@lists.sourceforge.net.

Linux man-pages 6.03                           15 декабря 2022 г.                                  aio_cancel(3)