Provided by: manpages-ru-dev_4.18.1-1_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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

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