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

FreeBSD Manual Pages

  
 
  

home | help
AIO_WAITCOMPLETE(2)	      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 re-
       sult of the function and	sets iocbp to point to the  structure  associ-
       ated 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 in-
       dicate 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	 asyn-
			  chronous 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	13.2			March 21, 2016		   AIO_WAITCOMPLETE(2)

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

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

home | help