.\" -*- coding: UTF-8 -*- .\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl) .\" and Copyright (C) 2010 Michael Kerrisk .\" .\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. .\" .\" The GNU General Public License's references to "object code" .\" and "executables" are to be interpreted as the output of any .\" document formatting or typesetting system, including .\" intermediate and printed output. .\" .\" This manual is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public .\" License along with this manual; if not, see .\" . .\" %%%LICENSE_END .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH AIO_SUSPEND 3 "15 сентября 2017 г." "" "Руководство программиста Linux" .SH ИМЯ aio_suspend \- ожидает завершения операции ввода\-вывода или истечения срока .SH СИНТАКСИС .nf .PP \fB#include \fP .PP \fBint aio_suspend(const struct aiocb * const \fP\fIaiocb_list\fP\fB[],\fP \fB int \fP\fInitems\fP\fB, const struct timespec *\fP\fItimeout\fP\fB);\fP .PP Компонуется при указании параметра \fI\-lrt\fP. .fi .SH ОПИСАНИЕ Функция \fBaio_suspend\fP() приостанавливает выполнение вызывающей нити до тех пор, пока не случиться одно из следующих событий: .IP * 3 Завершится один или более асинхронных запросов ввода\-вывода из списка \fIaiocb_list\fP. .IP * Будет получен сигнал. .IP * Если значение \fItimeout\fP не NULL и истечёт указанный срок (описание структуры \fItimespec\fP смотрите в \fBnanosleep\fP(2)). .PP В аргументе \fInitems\fP задаётся количество элементов в \fIaiocb_list\fP. Каждый элемент в списке, который задаётся в \fIaiocb_list\fP, должен быть равен NULL (игнорируется), или указывать на управляющий блок, который создаётся при создании операции ввода\-вывода с помощью \fBaio_read\fP(3), \fBaio_write\fP(3) или \fBlio_listio\fP(3) (описание структуры \fIaiocb\fP смотрите в \fBaio\fP(7)). .PP Если поддерживается \fBCLOCK_MONOTONIC\fP, то данный таймер используется для измерения периода ожидания (смотрите \fBclock_gettime\fP(3)). .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" Если функция завершается после выполнения запроса ввода\-вывода из списка \fIaiocb_list\fP, то возвращается 0. В противном случае возвращается \-1, а значением \fIerrno\fP определяется тип ошибки. .SH ОШИБКИ .TP \fBEAGAIN\fP Истёк период ожидания в вызове до завершения какой\-либо операции. .TP \fBEINTR\fP Вызов завершён по сигналу (возможно по сигналу, который ожидался как завершение операции); смотрите \fBsignal\fP(7). .TP \fBENOSYS\fP Функция \fBaio_suspend\fP() не реализована. .SH ВЕРСИИ Функция \fBaio_suspend\fP() доступна в glibc начиная с версии 2.1. .SH АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7). .TS allbox; lb lb lb l l l. Интерфейс Атрибут Значение T{ \fBaio_suspend\fP() T} Безвредность в нитях MT\-Safe .TE .SH "СООТВЕТСТВИЕ СТАНДАРТАМ" POSIX.1\-2001, POSIX.1\-2008. .SH ЗАМЕЧАНИЯ Можно выполнить опрос с не NULL значением \fItimeout\fP, указав нулевой временной интервал. .PP Если одна или несколько асинхронных операций ввода\-вывода, указанных в \fIaiocb_list\fP, уже завершилась на момент вызова \fBaio_suspend\fP(), то вызов сразу завершает работу. .PP Чтобы после успешного возврата из \fBaio_suspend\fP() определить, какие операции ввода\-вывода завершились, используйте \fBaio_error\fP(3) для проверки списка структур \fIaiocb\fP, на который указывает \fIaiocb_list\fP. .SH ДЕФЕКТЫ .\" FIXME . https://sourceware.org/bugzilla/show_bug.cgi?id=13172 Реализация \fBaio_suspend\fP() в glibc не является безопасной для асинхронных сигналов, что нарушает требования POSIX.1. .SH "СМ. ТАКЖЕ" \fBaio_cancel\fP(3), \fBaio_error\fP(3), \fBaio_fsync\fP(3), \fBaio_read\fP(3), \fBaio_return\fP(3), \fBaio_write\fP(3), \fBlio_listio\fP(3), \fBaio\fP(7), \fBtime\fP(7) .SH ЗАМЕЧАНИЯ Эта страница является частью проекта Linux \fIman\-pages\fP версии 5.10. Описание проекта, информацию об ошибках и последнюю версию этой страницы можно найти по адресу \%https://www.kernel.org/doc/man\-pages/. .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан Dmitry Bolkhovskikh и Yuri Kozlov . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .