JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... ) 関数は、 aiocbp->aio_fildes で関連付けられているまだ 完了していない全ての非同期 I/O 操作を同期させる。 ( aiocb 構造体の説明は aio (7) を参照) より正確に言うと、 op が O_SYNC の場合、現在キューに入れられ ... I/O 操作は、 fsync (2) が呼ばれたかのように完了されるだろう。 また op が O_DSYNC の場合、この呼び出しは fdatasync (2) の非同期版となる。 この関数はリクエストを行うだけである点に注意すること。 I/O の完了の待ち合わせは行わない。 aiocbp で指される構造体 ... 使用されるのは aio_sigevent フィールド ( sigevent 構造体、説明は sigevent (7) 参照) のみである。このフィールドは、完了時の非同期通知に使用 したいタイプを示す。 その他のフィールドは無視される。 返り値 成功した場合 (同期リクエストをキューに入れるのに成功 ... ... る。 説明 aio_return () 関数は aiocbp で指された制御ブロックにおける非同期 I/O リクエストの最終的な返り値を返す。 ( aiocb 構造体の説明は aio (7) を参照) この関数は、 aio_error (3) が EINPROGRESS 以 ... 外を返した後で、 与えられたリクエストに対して 1 回だけ呼ばれるべきである。 返り値 非同期 I/O 操作が完了した場合、この関数は、同期呼び出し read (2), write (2), fsync (2), fdatasync (2) が返すのと同じ値を返す。エラ ... ーの場合、 -1 が返され、 errno が適切に設定される。 非同期 I/O 操作が完了していない場合、 aio_return () の返り値とその影響は不定である。 エラー EINVAL aiocbp が、返り値がまだ取得され ... ... る。 POSIX AIO インターフェースは以下の関数で構成されている。 aio_read (3) 読み出しリクエストをキューに入れる。 read (2) の非同期版である。 aio_write (3) 書き込みリクエストをキューに入れる。 write (2) の非同期版である。 aio_fsync (3) ファイルディスクリプ ... ターに対して行われた I/O 操作の 同期 (sync) リクエストをキューに入れる。 fsync (2) や fdatasync (2) の非同期版である。 aio_error (3) キューに入れられた I/O リク ... I/O リクエストのキャンセルを試みる。 lio_listio (3) 一回の関数呼び出しで複数の I/O リクエストをキューに入れる。 aiocb ("非同期 I/O 制御ブロック (asynchronous I/O control block)") 構造体は、I/O 操作を制御するパラメーターを定義する。この型の引数は上記 ... ... _error () 関数は aiocbp で指された制御ブロックでの非同期 I/O リクエス トのエラー状態を返す。( aiocb 構造体の説明は aio (7) を参照) 返り値 この関数の返り値は以下のいずれかである。 ... 完了していない場合) * ECANCELED (リクエストがキャンセルされた場合) * 0 (リクエストが正常に完了した場合) * 正のエラー番号 (非同期 I/O 命令が失敗した場合)。 同期の read (2), write (2), fsync (2), fdatasync (2) の呼び出しの場合で errno 変数に格納されるの ... と同じ値になる。 エラー EINVAL aiocbp が、まだ返り値 (return status) ( aio_return (3) を参照) が取得されていない非同期 I/O リクエストの制御ブロックを指していない。 ENOSYS aio_error () は実装されていない。 バージョン aio_error () 関数は glibc ... ... int flags ); 説明 sync_file_range () を使うと、ファイルディスクリプター fd で参照されるオープンされたファイルのディスクとの同期に関して、 きめ細かな制御が可能となる。 offset は、同期を行うファイルの領域の開始バイトである。 nbytes には同期を行う領域の長 ... さをバイト単位で指定する。 nbytes が 0 の場合は、 offset からファイル末尾までの全バイトを同期する。 同期はシステムのページサイズの単位で行われる。 offset はページ境界にあわせて切り下げられ、 (offset+nbytes-1) はページ ... 多くのファイルシステムでは block allocator への書き込みも必要となるが、 このシステムコールは block allocator のディスクへの同期を行わない。 このシステムコールはディスク書き込みキャッシュのフラッシュを 行わないので、揮発性のディスク書き込みキャッシュを ... ... int flags ); 説明 sync_file_range () を使うと、ファイルディスクリプター fd で参照されるオープンされたファイルのディスクとの同期に関して、 きめ細かな制御が可能となる。 offset は、同期を行うファイルの領域の開始バイトである。 nbytes には同期を行う領域の長 ... さをバイト単位で指定する。 nbytes が 0 の場合は、 offset からファイル末尾までの全バイトを同期する。 同期はシステムのページサイズの単位で行われる。 offset はページ境界にあわせて切り下げられ、 (offset+nbytes-1) はページ ... 多くのファイルシステムでは block allocator への書き込みも必要となるが、 このシステムコールは block allocator のディスクへの同期を行わない。 このシステムコールはディスク書き込みキャッシュのフラッシュを 行わないので、揮発性のディスク書き込みキャッシュを ... ... int flags ); 説明 sync_file_range () を使うと、ファイルディスクリプター fd で参照されるオープンされたファイルのディスクとの同期に関して、 きめ細かな制御が可能となる。 offset は、同期を行うファイルの領域の開始バイトである。 nbytes には同期を行う領域の長 ... さをバイト単位で指定する。 nbytes が 0 の場合は、 offset からファイル末尾までの全バイトを同期する。 同期はシステムのページサイズの単位で行われる。 offset はページ境界にあわせて切り下げられ、 (offset+nbytes-1) はページ ... 多くのファイルシステムでは block allocator への書き込みも必要となるが、 このシステムコールは block allocator のディスクへの同期を行わない。 このシステムコールはディスク書き込みキャッシュのフラッシュを 行わないので、揮発性のディスク書き込みキャッシュを ... ... aicb * req ); -lanl でリンクする。 説明 getaddrinfo_a () 関数は getaddrinfo (3) と同じ処理を実行するが、 複数の名前検索を非同期で実行でき、 検索処理の完了の通知ができる点が異なる。 mode 引数は以下の値のいずれかを指定する。 GAI_WAIT 検索を同期で実行する ... 。 呼び出しは検索が完了するまで停止 (block) する。 GAI_NOWAIT 検索を非同期で実行する。 呼び出しは直ちに返り、 要求はバックグラウンドで処理される。 以下の sevp 引数の議論を参照。 配列 list は処理すべ ... は要求 req をキャンセルする。 要求が正常にキャンセルされた場合、 要求のエラーステータスに EAI_CANCELED が設定され、 通常の非同期通知が実行される。 要求が現在処理中でキャンセルできない場合もある。 この場合 gai_cancel () が呼ばれなかったかのように処理が行 ... ... aicb * req ); -lanl でリンクする。 説明 getaddrinfo_a () 関数は getaddrinfo (3) と同じ処理を実行するが、 複数の名前検索を非同期で実行でき、 検索処理の完了の通知ができる点が異なる。 mode 引数は以下の値のいずれかを指定する。 GAI_WAIT 検索を同期で実行する ... 。 呼び出しは検索が完了するまで停止 (block) する。 GAI_NOWAIT 検索を非同期で実行する。 呼び出しは直ちに返り、 要求はバックグラウンドで処理される。 以下の sevp 引数の議論を参照。 配列 list は処理すべ ... は要求 req をキャンセルする。 要求が正常にキャンセルされた場合、 要求のエラーステータスに EAI_CANCELED が設定され、 通常の非同期通知が実行される。 要求が現在処理中でキャンセルできない場合もある。 この場合 gai_cancel () が呼ばれなかったかのように処理が行 ... ... aicb * req ); -lanl でリンクする。 説明 getaddrinfo_a () 関数は getaddrinfo (3) と同じ処理を実行するが、 複数の名前検索を非同期で実行でき、 検索処理の完了の通知ができる点が異なる。 mode 引数は以下の値のいずれかを指定する。 GAI_WAIT 検索を同期で実行する ... 。 呼び出しは検索が完了するまで停止 (block) する。 GAI_NOWAIT 検索を非同期で実行する。 呼び出しは直ちに返り、 要求はバックグラウンドで処理される。 以下の sevp 引数の議論を参照。 配列 list は処理すべ ... は要求 req をキャンセルする。 要求が正常にキャンセルされた場合、 要求のエラーステータスに EAI_CANCELED が設定され、 通常の非同期通知が実行される。 要求が現在処理中でキャンセルできない場合もある。 この場合 gai_cancel () が呼ばれなかったかのように処理が行 ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。