Changeset View
Changeset View
Standalone View
Standalone View
lib/libc/sys/aio_fsync.2
Show First 20 Lines • Show All 68 Lines • ▼ Show 20 Lines | |||||
in order to determine return or error status for the enqueued operation | in order to determine return or error status for the enqueued operation | ||||
while it is in progress. | while it is in progress. | ||||
.Pp | .Pp | ||||
If the request could not be enqueued (generally due to invalid arguments), | If the request could not be enqueued (generally due to invalid arguments), | ||||
the call returns without having enqueued the request. | the call returns without having enqueued the request. | ||||
.Pp | .Pp | ||||
The | The | ||||
.Fa iocb->aio_sigevent | .Fa iocb->aio_sigevent | ||||
structure can be used to request notification of the request's | structure can be used to request notification of the operation's | ||||
completion as described in | completion as described in | ||||
.Xr aio 4 . | .Xr aio 4 . | ||||
.Sh RESTRICTIONS | .Sh RESTRICTIONS | ||||
The asynchronous I/O Control Block structure pointed to by | The Asynchronous I/O Control Block structure pointed to by | ||||
.Fa iocb | .Fa iocb | ||||
must remain valid until the | must remain valid until the | ||||
operation has completed. | operation has completed. | ||||
For this reason, use of auto (stack) variables | |||||
for these objects is discouraged. | |||||
.Pp | .Pp | ||||
The asynchronous I/O control buffer | The asynchronous I/O control buffer | ||||
.Fa iocb | .Fa iocb | ||||
should be zeroed before the | should be zeroed before the | ||||
.Fn aio_fsync | .Fn aio_fsync | ||||
call to avoid passing bogus context information to the kernel. | call to avoid passing bogus context information to the kernel. | ||||
.Pp | .Pp | ||||
Modifications of the Asynchronous I/O Control Block structure or the | Modifications of the Asynchronous I/O Control Block structure is not allowed | ||||
buffer contents after the request has been enqueued, but before the | while the request has been enqueued but not yet completed. | ||||
rpokala: I think
"while the request has been enqueued but has not yet completed."
reads a little… | |||||
Not Done Inline ActionsCould we even just say "while the request is enqueued"? If that language is sufficiently clear (i.e. not too vague) to cover the request up until it is completed, then I think it would be less of a mouthful. jhb: Could we even just say "while the request is enqueued"? If that language is sufficiently clear… | |||||
Not Done Inline ActionsI'm fine with "while the request is enqueued", IFF the aiocb still counts as "enqueued" after it has been dispatched but while it is still in-flight. rpokala: I'm fine with "while the request is enqueued", IFF the aiocb still counts as "enqueued" after… | |||||
request has completed, are not allowed. | |||||
.Sh RETURN VALUES | .Sh RETURN VALUES | ||||
.Rv -std aio_fsync | .Rv -std aio_fsync | ||||
.Sh ERRORS | .Sh ERRORS | ||||
The | The | ||||
.Fn aio_fsync | .Fn aio_fsync | ||||
system call will fail if: | system call will fail if: | ||||
.Bl -tag -width Er | .Bl -tag -width Er | ||||
.It Bq Er EAGAIN | .It Bq Er EAGAIN | ||||
▲ Show 20 Lines • Show All 77 Lines • Show Last 20 Lines |
I think
"while the request has been enqueued but has not yet completed."
reads a little clearer.