diff options
Diffstat (limited to 'man3p/aio_suspend.3p')
-rw-r--r-- | man3p/aio_suspend.3p | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/man3p/aio_suspend.3p b/man3p/aio_suspend.3p new file mode 100644 index 000000000..730c09b2a --- /dev/null +++ b/man3p/aio_suspend.3p @@ -0,0 +1,101 @@ +.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved +.TH "AIO_SUSPEND" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual" +.\" aio_suspend +.SH NAME +aio_suspend \- wait for an asynchronous I/O request (\fBREALTIME\fP) +.SH SYNOPSIS +.LP +\fB#include <aio.h> +.br +.sp +int aio_suspend(const struct aiocb * const\fP \fIlist\fP\fB[], int\fP +\fInent\fP\fB, +.br +\ \ \ \ \ \ const struct timespec *\fP\fItimeout\fP\fB); \fP +\fB +.br +\fP +.SH DESCRIPTION +.LP +The \fIaio_suspend\fP() function shall suspend the calling thread +until at least one of the asynchronous I/O operations +referenced by the \fIlist\fP argument has completed, until a signal +interrupts the function, or, if \fItimeout\fP is not NULL, +until the time interval specified by \fItimeout\fP has passed. If +any of the \fBaiocb\fP structures in the list correspond to +completed asynchronous I/O operations (that is, the error status for +the operation is not equal to [EINPROGRESS]) at the time of +the call, the function shall return without suspending the calling +thread. The \fIlist\fP argument is an array of pointers to +asynchronous I/O control blocks. The \fInent\fP argument indicates +the number of elements in the array. Each \fBaiocb\fP +structure pointed to has been used in initiating an asynchronous I/O +request via \fIaio_read\fP(), \fIaio_write\fP(), or \fIlio_listio\fP(). +This array may contain NULL pointers, which are ignored. If this array +contains pointers that refer to \fBaiocb\fP structures that have not +been used in submitting asynchronous I/O, the effect is +undefined. +.LP +If the time interval indicated in the \fBtimespec\fP structure pointed +to by \fItimeout\fP passes before any of the I/O +operations referenced by \fIlist\fP are completed, then \fIaio_suspend\fP() +shall return with an error. \ If the +Monotonic Clock option is supported, the clock that shall be used +to measure this time interval shall be the CLOCK_MONOTONIC clock. +.SH RETURN VALUE +.LP +If the \fIaio_suspend\fP() function returns after one or more asynchronous +I/O operations have completed, the function shall +return zero. Otherwise, the function shall return a value of -1 and +set \fIerrno\fP to indicate the error. +.LP +The application may determine which asynchronous I/O completed by +scanning the associated error and return status using \fIaio_error\fP() +and \fIaio_return\fP(), +respectively. +.SH ERRORS +.LP +The \fIaio_suspend\fP() function shall fail if: +.TP 7 +.B EAGAIN +No asynchronous I/O indicated in the list referenced by \fIlist\fP +completed in the time interval indicated by +\fItimeout\fP. +.TP 7 +.B EINTR +A signal interrupted the \fIaio_suspend\fP() function. Note that, +since each asynchronous I/O operation may possibly provoke a +signal when it completes, this error return may be caused by the completion +of one (or more) of the very I/O operations being +awaited. +.sp +.LP +\fIThe following sections are informative.\fP +.SH EXAMPLES +.LP +None. +.SH APPLICATION USAGE +.LP +The \fIaio_suspend\fP() function is part of the Asynchronous Input +and Output option and need not be available on all +implementations. +.SH RATIONALE +.LP +None. +.SH FUTURE DIRECTIONS +.LP +None. +.SH SEE ALSO +.LP +\fIaio_read\fP() , \fIaio_write\fP() , \fIlio_listio\fP() , the Base +Definitions volume of IEEE\ Std\ 1003.1-2001, \fI<aio.h>\fP +.SH COPYRIGHT +Portions of this text are reprinted and reproduced in electronic form +from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology +-- Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. In the +event of any discrepancy between this version and the original IEEE and +The Open Group Standard, the original IEEE and The Open Group Standard +is the referee document. The original Standard can be obtained online at +http://www.opengroup.org/unix/online.html . |