aio_fsync函式原型int aio_fsync(int op, struct aiocb *aiocbp)。
頭檔案,說明,返回值,錯誤,
頭檔案
#include <aio.h>
說明
aio_fsync() 在代表異步 I/O 操作相關的 aiocbp->aio_fildes 上執行一個同步操作。更準確地說,如果 op 是 O_SYNC,那么所有當前在隊的 I/O 操作好比調用 fsync(2) 一樣將會完成;如果 op 是 O_DSYNC,這個調用類似於異步的 fdatasync(2)。需要注意的是這只是一個請求,它不會等待 I/O 結束。
除去由 aiocbp 指向的結構體成員 aio_fildes 之外唯一被本函式使用成員是 aio_sigevent (一個 sigevent 結構,在 sigevent(7) 里描述),這個成員指出在操作完成時希望收到哪種異步通知。所有其它域都被忽略。
返回值
成功時(同步操作成功加入佇列),本函式返回0。錯誤時,返回 -1,並把 errno 設定為合適的值。
錯誤
EAGAIN
資源不足。
EBADF
aio_fildes 不是一個為寫打開的有效檔案描述符。
EINVAL
這個檔案不支持 I/O 同步,或者 op 不是 O_SYNC 或 O_DSYNC。