Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ aiowait(3) — SunOS 4.1.3B

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

aiocancel(3)

aioread(3)

AIOWAIT(3)  —  C LIBRARY FUNCTIONS

NAME

aiowait − wait for completion of asynchronous I/O operation

SYNOPSIS

#include <sys/asynch.h>
#include <sys/time.h>

aio_result_t ∗aiowait(timeout)
struct timeval ∗timeout;

DESCRIPTION

aiowait() suspends the calling process until one of its outstanding asynchronous I/O operations completes.  This provides a synchronous method of notification. 

If timeout is a non-zero pointer, it specifies a maximum interval to wait for the completion of an asynchronous I/O operation.  If timeout is a zero pointer, then aiowait() blocks indefinitely.  To effect a poll, the timeout parameter should be non-zero, pointing to a zero-valued timeval structure.  The timeval structure is defined in <sys/time.h> as:

struct timeval {
long  tv_sec;/∗ seconds∗/
long  tv_usec;/∗ and microseconds∗/
};

NOTES

aiowait() is the only way to dequeue an asynchronous notification.  It may be used either inside a SIGIO signal handler or in the main program.  Note: one SIGIO signal may represent several queued events. 

RETURN VALUES

On success, aiowait() returns a pointer to the result structure used when the completed asynchronous I/O operation was requested.  On failure, it returns −1 and sets errno to indicate the error.  aiowait() returns 0 if the time limit expires. 

ERRORS

EFAULT timeout points to an address outside the address space of the requesting process. 

EINTR A signal was delivered before an asynchronous I/O operation completed. 

The time limit expired. 

EINVAL There are no outstanding asynchronous I/O requests. 

SEE ALSO

aiocancel(3), aioread(3)

Sun Release 4.1  —  Last change: 21 January 1990

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026