Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
AIO_WAITCOMPLETE(2)	  FreeBSD 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 asynchro-
     nous 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 completed	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 indi-
     cate 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 asynchro-
			nous 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>.

FreeBSD	9.2		       January 19, 2000			   FreeBSD 9.2

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | STANDARDS | HISTORY | AUTHORS

Want to link to this manual page? Use this URL:
<http://www.freebsd.org/cgi/man.cgi?query=aio_waitcomplete&sektion=2&manpath=FreeBSD+10.0-RELEASE>

home | help