aio_write(2)aio_write(2)NAMEaio_write() - start asynchronous write operation
The function allows the calling process to perform an asynchronous
write to a previously opened file. The function call returns when the
write operation has been enqueued for processing. At this point, pro‐
cessing of the write operation may proceed concurrently with execution
of the calling process or thread.
If an error condition is detected that prevents the write request from
being enqueued, returns and sets to indicate the cause of the failure.
Once the write operation has been successfully enqueued, an and func‐
tion referencing the referred to by aiocbp must be used to determine
its status and any error conditions, including those normally reported
by The request remains enqueued and consumes process and system
resources until is called.
The function allows the calling process to write to the file associated
with from the buffer pointed to by The priority of the write operation
is reduced by the value of which must be a value between 0 (zero) and a
maximum value which can be obtained using the call with the argument A
value of 0 (zero) yields no reduction in priority. The field is
When the flag is not set for the file, the write operation takes place
at the absolute position in the file given by as if were called immedi‐
ately prior to the operation with equal to and set to When the flag is
set for the file, is ignored, and asynchronous write operations append
to the file in the same order as the requests were enqueued. The value
of the file offset is never changed by asynchronous I/O operations.
Deallocating or altering the contents of memory referred to by while an
asynchronous write operation is outstanding (i.e. before has been
called) may produce unpredictable results.
If is a valid signal event structure, then the designated signal will
be delivered when the requested asynchronous write operation completes.
To use this function, link in the realtime library by specifying on the
compiler or linker command line.
returns the following values:
Successful completion, the operation has been enqueued.
The requested operation was not enqueued. is set to indi‐
cate the error.
The return value from reflects the success or failure of enqueuing the
requested write operation for asynchronous processing. fails if an
error in the function call is immediately detected, or if system
resource limits prevent the request from being enqueued. All other
error conditions are reported asynchronously and must be retrieved with
If detects one of the following error conditions, is set to the indi‐
The request could not be queued either because of a resource
or because the per-process or system-wide limit
on asynchronous I/O operations or asynchronous
threads would have been exceeded.
The aiocbp is already in use for another asynchronous
Once the write request has been enqueued by the following errors, in
addition to all of the errors normally reported by the function, may be
reported asynchronously by a subsequent call to or referencing its
The was not a valid file descriptor open for writing.
The is not a valid address in the process virtual
The parameters of the indicated
in are invalid.
The value of is not valid.
The value of is invalid.
The file offset implied by
or are not valid for the file at the time the
request is processed.
The write operation was canceled due to a subsequent
call to referencing the same that was used to
start the operation.
The following code sequence and call to starts an asynchronous write
SEE ALSOaio_cancel(2), aio_error(2), aio_fsync(2), aio_read(2), aio_return(2),
aio_suspend(2), lio_listio(2), write(2), aio(5).