Man page - aio_write(3)

Packages contains this manual

Available languages:

en fr ja ru ro

Manual

AIO_WRITE

名 前
書 åŧ
čĒŦ 明
čŋ” り 値
エ ナ ãƒŧ
バ ãƒŧ ジ ョ ãƒŗ
åąž 性
æē– 拠
æŗ¨ 意
é–ĸ 逪 項 į›Ž
こ ぎ 文 書 ãĢ つ い ãĻ

名 前

aio_write - 非 同 期 で 書 き čžŧ む

書 åŧ

#include <aio.h>

int aio_write(struct aiocb * aiocbp );

-lrt で ãƒĒ ãƒŗ ク す る 。

čĒŦ 明

aio_write () é–ĸ 数 は 、 aiocbp が 指 す バ ッ フ ã‚Ą ãƒŧ ãĢ 記 čŧ‰ さ れ た I/O ãƒĒ ク エ ゚ ト を キ ãƒĨ ãƒŧ ãĢ å…Ĩ れ る 。 こ ぎ é–ĸ 数 は write (2) ぎ 非 同 期 į‰ˆ で あ る 。 å‘ŧ ãŗ å‡ē し

write(fd, buf, count)

ぎ 各 åŧ• 数 は aiocb が 指 す 構 造 äŊ“ ぎ aio_fildes , aio_buf , aio_nbytes ãĢ (こ ぎ 順 åē ã§ ) 寞 åŋœ す る ( aiocb 構 造 äŊ“ ぎ čĒŦ 明 は aio (7) を 参 į…§ )。

O_APPEND が 設 厚 さ れ ãĒ い å ´ 合 、 フ ã‚Ą イ ãƒĢ ã‚Ē フ ã‚ģ ッ ト ãĢ é–ĸ äŋ‚ ãĒ く 、 デ ãƒŧ ã‚ŋ は įĩļ 寞 äŊ įŊŽ aiocbp->aio_offset を 開 始 į‚š と し ãĻ 書 き čžŧ ぞ れ る 。 O_APPEND が 設 厚 さ れ ãĻ い る å ´ 合 、 デ ãƒŧ ã‚ŋ は フ ã‚Ą イ ãƒĢ ぎ æœĢ å°ž ãĢ 、 aio_write () ぎ å‘ŧ ãŗ å‡ē し が 行 わ れ た ぎ と 同 じ 順 åē ã§ 書 き čžŧ ぞ れ る 。 こ ぎ å‘ŧ ãŗ å‡ē し ぎ 垌 ぎ フ ã‚Ą イ ãƒĢ ã‚Ē フ ã‚ģ ッ ト は čĻ 厚 さ れ ãĻ い ãĒ い 。

「 非 同 期 」 と は 「 ãƒĒ ク エ ゚ ト が キ ãƒĨ ãƒŧ ãĢ å…Ĩ れ ら れ た ら 、 こ ぎ å‘ŧ ãŗ å‡ē し は す ぐ ãĢ čŋ” る 」 と い う こ と で あ る 。 å‘ŧ ãŗ å‡ē し か ら æˆģ ãŖ た 時 ãĢ 、 書 き čžŧ ãŋ は 厌 äē† ã— ãĻ い る か も įŸĨ れ ãĒ い し 、 厌 äē† ã— ãĻ い ãĒ い か も įŸĨ れ ãĒ い 。 aio_error (3) を äŊŋ う こ と で 厌 äē† ã— た か を テ ゚ ト で き る 。 厌 äē† ã— た I/O 操 äŊœ ぎ čŋ” り 値 は aio_return (3) で 取 åž— で き る 。 aiocbp->aio_sigevent を 遊 切 ãĢ 設 厚 す る こ と で 、 I/O 厌 äē† ãŽ 非 同 期 通 įŸĨ は 受 け る こ と も で き る 。 čŠŗ į´° は sigevent (7) を 参 į…§ 。

_POSIX_PRIORITIZED_IO が 厚 įžŠ さ れ ãĻ い ãĻ 、 か つ フ ã‚Ą イ ãƒĢ が こ れ を ã‚ĩ ポ ãƒŧ ト し ãĻ い る å ´ 合 、 非 同 期 操 äŊœ は å‘ŧ ãŗ å‡ē し た プ ロ ã‚ģ ゚ ぎ å„Ē 先 åēĻ ã‹ ら aiocbp->aio_reqprio を åŧ• い た å„Ē 先 åēĻ ã§ į™ģ 錞 (submit) さ れ る 。

フ ã‚Ŗ ãƒŧ ãƒĢ ド aiocbp->aio_lio_opcode は į„Ą čĻ– さ れ る 。

最 大 ã‚Ē フ ã‚ģ ッ ト を čļ… ãˆ た 通 常 ぎ フ ã‚Ą イ ãƒĢ ãĢ は 、 äŊ• も デ ãƒŧ ã‚ŋ が 書 き čžŧ ぞ れ ãĒ い 。

čŋ” り 値

成 功 し た å ´ 合 、 0 が čŋ” さ れ る 。 エ ナ ãƒŧ ぎ å ´ 合 、 ãƒĒ ク エ ゚ ト は キ ãƒĨ ãƒŧ ãĢ å…Ĩ れ ら れ ず 、 -1 が čŋ” さ れ ãĻ 、 errno が 遊 切 ãĢ 設 厚 さ れ る 。 エ ナ ãƒŧ は 垌 で ぎ ãŋ 検 įŸĨ さ れ た å ´ 合 は 、 エ ナ ãƒŧ は aio_return (3) と aio_error (3) įĩŒ į”ą で å ą 告 さ れ る こ と ãĢ ãĒ る ( aio_return (3) は įŠļ 態 -1 を čŋ” し 、 aio_error (3) で エ ナ ãƒŧ įŠļ 態 — errno で 取 åž— で き る EBADF ぎ よ う ãĒ エ ナ ãƒŧ įŠļ 態 が čŋ” さ れ る )。

エ ナ ãƒŧ

EAGAIN

ãƒĒ ã‚Ŋ ãƒŧ ゚ が čļŗ ã‚Š ãĒ い 。

EBADF

aio_fildes が 書 き čžŧ ãŋ ぎ た め ãĢ ã‚Ē ãƒŧ プ ãƒŗ さ れ た 有 劚 ãĒ フ ã‚Ą イ ãƒĢ デ ã‚Ŗ ゚ ク ãƒĒ プ ã‚ŋ ãƒŧ で は ãĒ い 。

EFBIG

フ ã‚Ą イ ãƒĢ は 通 常 ぎ フ ã‚Ą イ ãƒĢ で あ り 、 少 ãĒ く と も 1 バ イ ト を 書 き čžŧ も う と し ãĻ い る 。 し か し 開 始 äŊ įŊŽ ãŒ 、 こ ぎ フ ã‚Ą イ ãƒĢ ぎ 最 大 ã‚Ē フ ã‚ģ ッ ト と 同 じ か そ れ を čļ… ãˆ ãĻ い る 。

EINVAL

aio_offset , aio_reqprio , aio_nbytes ぎ う ãĄ 1 つ äģĨ 上 が į„Ą 劚 で あ る 。

ENOSYS

aio_write () は 原 čŖ… さ れ ãĻ い ãĒ い 。

バ ãƒŧ ジ ョ ãƒŗ

The aio_write () é–ĸ 数 は glibc 2.1 äģĨ 降 で 刊 ᔍ で き る 。

åąž 性

こ ぎ ᝀ で äŊŋ ᔍ さ れ ãĻ い る ᔍ čĒž ぎ čĒŦ 明 ãĢ つ い ãĻ は 、 attributes (7) を 参 į…§ 。

Image grohtml-30896-1.png

æē– 拠

POSIX.1-2001, POSIX.1-2008.

æŗ¨ 意

äŊŋ ᔍ す る 前 ãĢ åˆļ åžĄ ブ ロ ッ ク を 0 ãĢ し ãĻ お く ぎ は 、 よ い 考 え で あ る 。 こ ぎ åˆļ åžĄ ブ ロ ッ ク は 、 čĒ­ ãŋ čžŧ ãŋ 操 äŊœ が 進 行 し ãĻ い る 間 は 変 更 す ず き で ãĒ い 。 čĒ­ ãŋ čžŧ ぞ れ る バ ッ フ ã‚Ą ãƒŧ 領 域 は 操 äŊœ ぎ 最 中 ãĢ ã‚ĸ ク ã‚ģ ゚ す ず き で は ãĒ い 。 さ も ãĒ い と čĩˇ こ る įĩ 果 が 不 厚 ãĢ ãĒ る 。 こ れ ãĢ åĢ ぞ れ る ãƒĄ ãƒĸ ãƒĒ ãƒŧ 領 域 は 、 有 劚 ãĒ ぞ ぞ ãĢ し ãĒ け れ ば ãĒ ら ãĒ い 。

同 じ aiocb 構 造 äŊ“ を 指 厚 し ãĻ 同 時 ãĢ 複 数 ぎ I/O 操 äŊœ を 行 ãŖ た å ´ 合 、 お ぎ よ う ãĒ įĩ 果 ãĢ ãĒ る か は 不 厚 で あ る 。

é–ĸ 逪 項 į›Ž

aio_cancel (3), aio_error (3), aio_fsync (3), aio_read (3), aio_return (3), aio_suspend (3), lio_listio (3), aio (7)

こ ぎ 文 書 ãĢ つ い ãĻ

こ ぎ man ペ ãƒŧ ジ は Linux man-pages プ ロ ジ ェ ク ト ぎ ãƒĒ ãƒĒ ãƒŧ ゚ 5.10 ぎ 一 部 で あ る 。 プ ロ ジ ェ ク ト ぎ čĒŦ 明 と バ グ å ą 告 ãĢ é–ĸ す る 情 å ą は https://www.kernel.org/doc/man-pages/ ãĢ 書 か れ ãĻ い る 。