Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

aio_waitcomplete(2) [debian man page]

AIO_WAITCOMPLETE(2)					      BSD System Calls Manual					       AIO_WAITCOMPLETE(2)

NAME
aio_waitcomplete -- wait for the next completion of an aio request LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <aio.h> int aio_waitcomplete(struct aiocb **iocbp, struct timespec *timeout); DESCRIPTION
The aio_waitcomplete() system call waits for completion of an asynchronous I/O request. Upon completion, aio_waitcomplete() returns the result of the function and sets iocbp to point to the structure associated with the original request. If an asynchronous I/O request is com- pleted before aio_waitcomplete() is called, it returns immediately with the completed request. If timeout is a non-NULL pointer, it specifies a maximum interval to wait for a asynchronous I/O request to complete. If timeout is a NULL pointer, aio_waitcomplete() waits indefinitely. To effect a poll, the timeout argument should be non-NULL, pointing to a zero-valued timeval structure. The aio_waitcomplete() system call also serves the function of aio_return(), thus aio_return() should not be called for the control block returned in iocbp. RETURN VALUES
If an asynchronous I/O request has completed, iocbp is set to point to the control block passed with the original request, and the status is returned as described in read(2), write(2), or fsync(2). On failure, aio_waitcomplete() returns -1, sets iocbp to NULL and sets errno to indicate the error condition. ERRORS
The aio_waitcomplete() system call fails if: [EINVAL] The specified time limit is invalid. [EAGAIN] The process has not yet called aio_read() or aio_write(). [EINTR] A signal was delivered before the timeout expired and before any asynchronous I/O requests completed. [EWOULDBLOCK] [EINPROGRESS] The specified time limit expired before any asynchronous I/O requests completed. SEE ALSO
aio_cancel(2), aio_error(2), aio_read(2), aio_return(2), aio_suspend(2), aio_write(2), fsync(2), read(2), write(2), aio(4) STANDARDS
The aio_waitcomplete() system call is a FreeBSD-specific extension. HISTORY
The aio_waitcomplete() system call first appeared in FreeBSD 4.0. AUTHORS
The aio_waitcomplete() system call and this manual page were written by Christopher M Sedore <cmsedore@maxwell.syr.edu>. BSD
January 19, 2000 BSD

Check Out this Related Man Page

AIO_RETURN(3)						     Linux Programmer's Manual						     AIO_RETURN(3)

NAME
aio_return - get return status of asynchronous I/O operation SYNOPSIS
#include <aio.h> ssize_t aio_return(struct aiocb *aiocbp); Link with -lrt. DESCRIPTION
The aio_return() function returns the final return status for the asynchronous I/O request with control block pointed to by aiocbp. (See aio(7) for a description of the aiocb structure.) This function should be called only once for any given request, after aio_error(3) returns something other than EINPROGRESS. RETURN VALUE
If the asynchronous I/O operation has completed, this function returns the value that would have been returned in case of a synchronous read(2), write(2), fsync(2) or fdatasync(2), call. On error, -1 is returned, and errno is set appropriately. If the asynchronous I/O operation has not yet completed, the return value and effect of aio_return() are undefined. ERRORS
EINVAL aiocbp does not point at a control block for an asynchronous I/O request of which the return status has not been retrieved yet. ENOSYS aio_return() is not implemented. VERSIONS
The aio_return() function is available since glibc 2.1. ATTRIBUTES
For an explanation of the terms used in this section, see attributes(7). +-------------+---------------+---------+ |Interface | Attribute | Value | +-------------+---------------+---------+ |aio_return() | Thread safety | MT-Safe | +-------------+---------------+---------+ CONFORMING TO
POSIX.1-2001, POSIX.1-2008. EXAMPLE
See aio(7). SEE ALSO
aio_cancel(3), aio_error(3), aio_fsync(3), aio_read(3), aio_suspend(3), aio_write(3), lio_listio(3), aio(7) COLOPHON
This page is part of release 4.15 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/. 2017-09-15 AIO_RETURN(3)
Man Page