Provided by: manpages-ru-dev_4.27.0-1_all bug

НАИМЕНОВАНИЕ

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

БИБЛИОТЕКА

       Библиотека реального времени (librt, -lrt)

ОБЗОР

       #include <aio.h>

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

ОПИСАНИЕ

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

       Normal asynchronous notification occurs for canceled requests  (see  aio(7)  and  sigevent(3type)).   The
       request  return status (aio_return(3))  is set to -1, and the request error status (aio_error(3))  is set
       to ECANCELED.  The control block of requests that cannot be canceled is not changed.

       Если запрос не может быть отменён, то он завершается как обычно после выполнения операции ввода-вывода (в
       этом случае 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() не реализована.

АТРИБУТЫ

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

СТАНДАРТЫ

       POSIX.1-2008.

ИСТОРИЯ

       glibc 2.1.  POSIX.1-2001.

ПРИМЕРЫ

       Смотрите 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> и Kirill Rekhov <krekhov.dev@gmail.com>

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

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

Справочные страницы Linux 6.9.1                   2 мая 2024 г.                                    aio_cancel(3)