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

FreeBSD Manual Pages

  
 
  

home | help
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>

     ssize_t
     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 re-
     turned 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>.

BSD				March 21, 2016				   BSD

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

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

home | help