# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: man-pages-ja\n" "POT-Creation-Date: 2014-04-24 00:50+0900\n" "PO-Revision-Date: 2014-04-24 02:35+0900\n" "Last-Translator: Akihiro MOTOKI \n" "Language-Team: Japanese (http://www.transifex.net/projects/p/man-pages-ja/" "language/ja/)\n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0\n" #. type: TH #: build/C/man7/aio.7:26 #, no-wrap msgid "AIO" msgstr "AIO" #. type: TH #: build/C/man7/aio.7:26 #, no-wrap msgid "2014-04-06" msgstr "2014-04-06" #. type: TH #: build/C/man7/aio.7:26 build/C/man3/aio_init.3:26 build/C/man2/io_cancel.2:7 #: build/C/man2/io_destroy.2:7 build/C/man2/io_getevents.2:7 #: build/C/man2/io_setup.2:7 build/C/man2/io_submit.2:7 #, no-wrap msgid "Linux" msgstr "Linux" #. type: TH #: build/C/man7/aio.7:26 build/C/man3/aio_cancel.3:24 #: build/C/man3/aio_error.3:24 build/C/man3/aio_fsync.3:24 #: build/C/man3/aio_init.3:26 build/C/man3/aio_read.3:24 #: build/C/man3/aio_return.3:24 build/C/man3/aio_suspend.3:25 #: build/C/man3/aio_write.3:24 build/C/man2/io_cancel.2:7 #: build/C/man2/io_destroy.2:7 build/C/man2/io_getevents.2:7 #: build/C/man2/io_setup.2:7 build/C/man2/io_submit.2:7 #: build/C/man3/lio_listio.3:24 #, no-wrap msgid "Linux Programmer's Manual" msgstr "Linux Programmer's Manual" #. type: SH #: build/C/man7/aio.7:27 build/C/man3/aio_cancel.3:25 #: build/C/man3/aio_error.3:25 build/C/man3/aio_fsync.3:25 #: build/C/man3/aio_init.3:27 build/C/man3/aio_read.3:25 #: build/C/man3/aio_return.3:25 build/C/man3/aio_suspend.3:26 #: build/C/man3/aio_write.3:25 build/C/man2/io_cancel.2:8 #: build/C/man2/io_destroy.2:8 build/C/man2/io_getevents.2:8 #: build/C/man2/io_setup.2:8 build/C/man2/io_submit.2:8 #: build/C/man3/lio_listio.3:25 #, no-wrap msgid "NAME" msgstr "名前" #. type: Plain text #: build/C/man7/aio.7:29 msgid "aio - POSIX asynchronous I/O overview" msgstr "aio - POSIX 非同期 I/O の概要" #. type: SH #: build/C/man7/aio.7:29 build/C/man3/aio_cancel.3:33 #: build/C/man3/aio_error.3:33 build/C/man3/aio_fsync.3:33 #: build/C/man3/aio_init.3:38 build/C/man3/aio_read.3:33 #: build/C/man3/aio_return.3:33 build/C/man3/aio_suspend.3:39 #: build/C/man3/aio_write.3:33 build/C/man2/io_cancel.2:20 #: build/C/man2/io_destroy.2:19 build/C/man2/io_getevents.2:22 #: build/C/man2/io_setup.2:19 build/C/man2/io_submit.2:20 #: build/C/man3/lio_listio.3:36 #, no-wrap msgid "DESCRIPTION" msgstr "説明" #. type: Plain text #: build/C/man7/aio.7:37 msgid "" "The POSIX asynchronous I/O (AIO) interface allows applications to initiate " "one or more I/O operations that are performed asynchronously (i.e., in the " "background). The application can elect to be notified of completion of the " "I/O operation in a variety of ways: by delivery of a signal, by " "instantiation of a thread, or no notification at all." msgstr "" "POSIX 非同期 (AIO) インターフェースを使うと、アプリケーションは、非同期\n" "に (つまり、バックグラウンドで) 実行されるI/O 操作を一つ以上発行できる\n" "ようになる。アプリケーションは I/O 操作の完了の通知方法を選択することが\n" "できる。選択できる通知方法は、シグナルの配送、スレッドの起動、通知を行\n" "わないである。" #. type: Plain text #: build/C/man7/aio.7:39 msgid "The POSIX AIO interface consists of the following functions:" msgstr "POSIX AIO インターフェースは以下の関数で構成されている。" #. type: TP #: build/C/man7/aio.7:39 #, no-wrap msgid "B(3)" msgstr "B(3)" #. type: Plain text #: build/C/man7/aio.7:44 msgid "Enqueue a read request. This is the asynchronous analog of B(2)." msgstr "" "読み出しリクエストをキューに入れる。\n" "B(2) の非同期版である。" #. type: TP #: build/C/man7/aio.7:44 #, no-wrap msgid "B(3)" msgstr "B(3)" #. type: Plain text #: build/C/man7/aio.7:49 msgid "" "Enqueue a write request. This is the asynchronous analog of B(2)." msgstr "" "書き込みリクエストをキューに入れる。\n" "B(2) の非同期版である。" #. type: TP #: build/C/man7/aio.7:49 #, no-wrap msgid "B(3)" msgstr "B(3)" #. type: Plain text #: build/C/man7/aio.7:56 msgid "" "Enqueue a sync request for the I/O operations on a file descriptor. This is " "the asynchronous analog of B(2) and B(2)." msgstr "" "ファイルディスクリプタに対して行われた I/O 操作の\n" "同期 (sync) リクエストをキューに入れる。\n" "B(2) や B(2) の非同期版である。" #. type: TP #: build/C/man7/aio.7:56 #, no-wrap msgid "B(3)" msgstr "B(3)" #. type: Plain text #: build/C/man7/aio.7:59 msgid "Obtain the error status of an enqueued I/O request." msgstr "キューに入れられた I/O リクエストのエラー状態を取得する。" #. type: TP #: build/C/man7/aio.7:59 #, no-wrap msgid "B(3)" msgstr "B(3)" #. type: Plain text #: build/C/man7/aio.7:62 msgid "Obtain the return status of a completed I/O request." msgstr "完了した I/O リクエストの終了ステータスを取得する。" #. type: TP #: build/C/man7/aio.7:62 #, no-wrap msgid "B(3)" msgstr "B(3)" #. type: Plain text #: build/C/man7/aio.7:66 msgid "" "Suspend the caller until one or more of a specified set of I/O requests " "completes." msgstr "" "指定された I/O リクエストの集合 (要素は一つ以上) が完了するまで、\n" "呼び出し側の実行を停止 (suspend) する。" #. type: TP #: build/C/man7/aio.7:66 #, no-wrap msgid "B(3)" msgstr "B(3)" #. type: Plain text #: build/C/man7/aio.7:70 msgid "" "Attempt to cancel outstanding I/O requests on a specified file descriptor." msgstr "" "指定されたファイルディスクリプタに関する\n" "完了していない I/O リクエストのキャンセルを試みる。" #. type: TP #: build/C/man7/aio.7:70 #, no-wrap msgid "B(3)" msgstr "B(3)" #. type: Plain text #: build/C/man7/aio.7:73 msgid "Enqueue multiple I/O requests using a single function call." msgstr "一回の関数呼び出しで複数の I/O リクエストをキューに入れる。" #. type: Plain text #: build/C/man7/aio.7:80 msgid "" "The I (\"asynchronous I/O control block\") structure defines " "parameters that control an I/O operation. An argument of this type is " "employed with all of the functions listed above. This structure has the " "following form:" msgstr "" "I (\"非同期 I/O 制御ブロック (asynchronous I/O control block)\")\n" "構造体は、I/O 操作を制御するパラメータを定義する。この型の引き数は上記\n" "の全ての関数で使用されている。この構造体は以下の通りである。" #. type: Plain text #: build/C/man7/aio.7:84 #, no-wrap msgid "#include Eaiocb.hE\n" msgstr "#include Eaiocb.hE\n" #. type: Plain text #: build/C/man7/aio.7:87 #, no-wrap msgid "" "struct aiocb {\n" " /* The order of these fields is implementation-dependent */\n" msgstr "" "struct aiocb {\n" " /* The order of these fields is implementation-dependent */\n" #. type: Plain text #: build/C/man7/aio.7:96 #, no-wrap msgid "" " int aio_fildes; /* File descriptor */\n" " off_t aio_offset; /* File offset */\n" " volatile void *aio_buf; /* Location of buffer */\n" " size_t aio_nbytes; /* Length of transfer */\n" " int aio_reqprio; /* Request priority */\n" " struct sigevent aio_sigevent; /* Notification method */\n" " int aio_lio_opcode; /* Operation to be performed;\n" " lio_listio() only */\n" msgstr "" " int aio_fildes; /* File descriptor */\n" " off_t aio_offset; /* File offset */\n" " volatile void *aio_buf; /* Location of buffer */\n" " size_t aio_nbytes; /* Length of transfer */\n" " int aio_reqprio; /* Request priority */\n" " struct sigevent aio_sigevent; /* Notification method */\n" " int aio_lio_opcode; /* Operation to be performed;\n" " lio_listio() only */\n" #. type: Plain text #: build/C/man7/aio.7:99 #, no-wrap msgid "" " /* Various implementation-internal fields not shown */\n" "};\n" msgstr "" " /* Various implementation-internal fields not shown */\n" "};\n" #. type: Plain text #: build/C/man7/aio.7:101 #, no-wrap msgid "/* Operation codes for \\(aqaio_lio_opcode\\(aq: */\n" msgstr "/* Operation codes for \\(aqaio_lio_opcode\\(aq: */\n" #. type: Plain text #: build/C/man7/aio.7:103 #, no-wrap msgid "enum { LIO_READ, LIO_WRITE, LIO_NOP };\n" msgstr "enum { LIO_READ, LIO_WRITE, LIO_NOP };\n" #. type: Plain text #: build/C/man7/aio.7:107 msgid "The fields of this structure are as follows:" msgstr "この構造体のフィールドは以下の通りである。" #. type: TP #: build/C/man7/aio.7:107 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man7/aio.7:110 msgid "The file descriptor on which the I/O operation is to be performed." msgstr "I/O 操作の実行対象となるファイルディスクリプタ。" #. type: TP #: build/C/man7/aio.7:110 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man7/aio.7:113 msgid "This is the file offset at which the I/O operation is to be performed." msgstr "I/O 操作を行うファイルオフセットを示す。" #. type: TP #: build/C/man7/aio.7:113 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man7/aio.7:116 msgid "This is the buffer used to transfer data for a read or write operation." msgstr "読み出し操作、書き込み操作でデータ転送に使用されるバッファ。" #. type: TP #: build/C/man7/aio.7:116 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man7/aio.7:120 msgid "This is the size of the buffer pointed to by I." msgstr "I が指すバッファのサイズ。" #. type: TP #: build/C/man7/aio.7:120 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man7/aio.7:129 msgid "" "This field specifies a value that is subtracted from the calling thread's " "real-time priority in order to determine the priority for execution of this " "I/O request (see B(3)). The specified value must be " "between 0 and the value returned by I. " "This field is ignored for file synchronization operations." msgstr "" "このフィールドでは、呼び出したスレッドのリアルタイム優先度から\n" "減算する値を指定する。この I/O リクエストの実行の優先度を\n" "決定するために使用される (B(3) 参照)。\n" "指定する値は 0 と I が返す値の間で\n" "なければならない。このフィールドは、ファイル同期操作では無視される。" #. type: TP #: build/C/man7/aio.7:129 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man7/aio.7:143 msgid "" "This field is a structure that specifies how the caller is to be notified " "when the asynchronous I/O operation completes. Possible values for " "I are B, B, and " "B. See B(7) for further details." msgstr "" "このフィールドは、非同期 I/O 操作が完了した際に呼び出し側に\n" "どのように通知を行うかを指定する構造体である。\n" "I に指定できる値は、\n" "B, B, B である。\n" "詳細は B(7) を参照。" #. type: TP #: build/C/man7/aio.7:143 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man7/aio.7:147 msgid "The type of operation to be performed; used only for B(3)." msgstr "" "実行される操作の種別。\n" "B(3) でのみ使用される。" #. type: Plain text #: build/C/man7/aio.7:150 msgid "" "In addition to the standard functions listed above, the GNU C library " "provides the following extension to the POSIX AIO API:" msgstr "" "上記のリストにある標準の関数に加えて、GNU C ライブラリでは\n" "以下に示す POSIX AIO API に対する拡張が提供されている。" #. type: TP #: build/C/man7/aio.7:150 #, no-wrap msgid "B(3)" msgstr "B(3)" #. type: Plain text #: build/C/man7/aio.7:153 msgid "" "Set parameters for tuning the behavior of the glibc POSIX AIO implementation." msgstr "glibc の POSIX AIO 実装の動作を調整するパラメータを設定する。" #. type: SH #: build/C/man7/aio.7:153 build/C/man3/aio_cancel.3:101 #: build/C/man3/aio_error.3:66 build/C/man3/aio_fsync.3:79 #: build/C/man3/aio_read.3:103 build/C/man3/aio_return.3:63 #: build/C/man3/aio_suspend.3:88 build/C/man3/aio_write.3:110 #: build/C/man2/io_cancel.2:42 build/C/man2/io_destroy.2:34 #: build/C/man2/io_getevents.2:40 build/C/man2/io_setup.2:37 #: build/C/man2/io_submit.2:37 build/C/man3/lio_listio.3:146 #, no-wrap msgid "ERRORS" msgstr "エラー" #. type: TP #: build/C/man7/aio.7:154 build/C/man3/aio_error.3:67 #: build/C/man3/aio_fsync.3:87 build/C/man3/aio_read.3:111 #: build/C/man3/aio_return.3:64 build/C/man3/aio_write.3:122 #: build/C/man2/io_cancel.2:49 build/C/man2/io_destroy.2:38 #: build/C/man2/io_getevents.2:44 build/C/man2/io_setup.2:46 #: build/C/man2/io_submit.2:47 build/C/man3/lio_listio.3:161 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man7/aio.7:163 msgid "" "The I field of the I structure was less than 0, or was " "greater than the limit returned by the call I." msgstr "" "I 構造体の I フィールドが、0 より小さいか、\n" "I が返す上限よりも大きかった。" #. type: SH #: build/C/man7/aio.7:163 build/C/man3/aio_cancel.3:110 #: build/C/man3/aio_error.3:78 build/C/man3/aio_fsync.3:99 #: build/C/man3/aio_init.3:93 build/C/man3/aio_read.3:128 #: build/C/man3/aio_return.3:73 build/C/man3/aio_suspend.3:103 #: build/C/man3/aio_write.3:133 build/C/man2/io_cancel.2:56 #: build/C/man2/io_destroy.2:45 build/C/man2/io_getevents.2:57 #: build/C/man2/io_setup.2:58 build/C/man2/io_submit.2:60 #: build/C/man3/lio_listio.3:201 #, no-wrap msgid "VERSIONS" msgstr "バージョン" #. type: Plain text #: build/C/man7/aio.7:165 msgid "The POSIX AIO interfaces are provided by glibc since version 2.1." msgstr "" "POSIX AIO インターフェイスは glibc バージョン 2.1 以降で提供されている。" #. type: SH #: build/C/man7/aio.7:165 build/C/man3/aio_cancel.3:114 #: build/C/man3/aio_error.3:87 build/C/man3/aio_fsync.3:103 #: build/C/man3/aio_init.3:97 build/C/man3/aio_read.3:132 #: build/C/man3/aio_return.3:82 build/C/man3/aio_suspend.3:107 #: build/C/man3/aio_write.3:137 build/C/man2/io_cancel.2:59 #: build/C/man2/io_destroy.2:48 build/C/man2/io_getevents.2:60 #: build/C/man2/io_setup.2:61 build/C/man2/io_submit.2:63 #: build/C/man3/lio_listio.3:205 #, no-wrap msgid "CONFORMING TO" msgstr "準拠" #. type: Plain text #: build/C/man7/aio.7:167 build/C/man3/aio_cancel.3:116 #: build/C/man3/aio_error.3:89 build/C/man3/aio_fsync.3:105 #: build/C/man3/aio_read.3:134 build/C/man3/aio_return.3:84 #: build/C/man3/aio_suspend.3:109 build/C/man3/aio_write.3:139 #: build/C/man3/lio_listio.3:207 msgid "POSIX.1-2001, POSIX.1-2008." msgstr "POSIX.1-2001, POSIX.1-2008." #. type: SH #: build/C/man7/aio.7:167 build/C/man3/aio_read.3:134 #: build/C/man3/aio_suspend.3:109 build/C/man3/aio_write.3:139 #: build/C/man2/io_cancel.2:64 build/C/man2/io_destroy.2:53 #: build/C/man2/io_getevents.2:65 build/C/man2/io_setup.2:66 #: build/C/man2/io_submit.2:68 build/C/man3/lio_listio.3:207 #, no-wrap msgid "NOTES" msgstr "注意" #. type: Plain text #: build/C/man7/aio.7:174 msgid "" "It is a good idea to zero out the control block buffer before use (see " "B(3)). The control block buffer and the buffer pointed to by " "I must not be changed while the I/O operation is in progress. " "These buffers must remain valid until the I/O operation completes." msgstr "" "使用前に制御ブロックバッファを 0 で埋めるのはよい考えである\n" "(B(3) 参照)。I/O 操作が実行中の間は、制御ブロックバッファと\n" "I が指すバッファを変更してはならない。I/O 操作が完了するまで、\n" "これらのバッファは有効な状態に保たなければならない。" #. type: Plain text #: build/C/man7/aio.7:178 msgid "" "Simultaneous asynchronous read or write operations using the same I " "structure yield undefined results." msgstr "" "同じ I 構造体を使って、同時に複数の非同期の読み出し操作や\n" "書き込み操作を行った場合に、どのような結果になるかは未定義である。" #. http://lse.sourceforge.net/io/aio.html #. http://lse.sourceforge.net/io/aionotes.txt #. http://lwn.net/Articles/148755/ #. type: Plain text #: build/C/man7/aio.7:196 msgid "" "The current Linux POSIX AIO implementation is provided in user space by " "glibc. This has a number of limitations, most notably that maintaining " "multiple threads to perform I/O operations is expensive and scales poorly. " "Work has been in progress for some time on a kernel state-machine-based " "implementation of asynchronous I/O (see B(2), B(2), " "B(2), B(2), B(2)), but this " "implementation hasn't yet matured to the point where the POSIX AIO " "implementation can be completely reimplemented using the kernel system calls." msgstr "" "現在の Linux では、POSIX AIO 実装は glibc によりユーザ空間で提供\n" "されている。このため、制限がいくつかあり、最も顕著なものは、I/O 操作を\n" "実行する複数のスレッドの管理コストが高く、スケーラビリティに欠けること\n" "である。しばらくの間、カーネルのステートマシンによる非同期 I/O の実装\n" "の作業が行われているが (B(2), B(2), \n" "B(2), B(2), B(2) 参照)、\n" "この実装はまだ POSIX AIO 実装をカーネルシステムコールにより\n" "再実装するほど成熟したものてはない。" #. type: SH #: build/C/man7/aio.7:196 build/C/man3/aio_cancel.3:116 #: build/C/man3/aio_error.3:89 build/C/man3/aio_read.3:146 #: build/C/man3/aio_return.3:84 #, no-wrap msgid "EXAMPLE" msgstr "例" #. type: Plain text #: build/C/man7/aio.7:209 msgid "" "The program below opens each of the files named in its command-line " "arguments and queues a request on the resulting file descriptor using " "B(3). The program then loops, periodically monitoring each of the " "I/O operations that is still in progress using B(3). Each of the " "I/O requests is set up to provide notification by delivery of a signal. " "After all I/O requests have completed, the program retrieves their status " "using B(3)." msgstr "" "下記のプログラムは、コマンドライン引き数で指定された名前のファイルを\n" "それぞれオープンし、得られたファイルディスクリプタに対するリクエストを\n" "B(3) を使ってキューに入れる。その後、このプログラムはループに\n" "入り、定期的に B(3) を使ってまだ実行中の各 I/O 操作を監視す\n" "る。各 I/O リクエストは、シグナルの配送による完了通知が行われるように設\n" "定される。全ての I/O リクエストが完了した後、B(3) を使って\n" "それぞれのステータスを取得する。" #. type: Plain text #: build/C/man7/aio.7:215 msgid "" "The B signal (generated by typing control-\\e) causes the program " "to request cancellation of each of the outstanding requests using " "B(3)." msgstr "" "B シグナル (control-\\e をタイプすると生成できる) を送ると、\n" "このプログラムは B(3) を使って\n" "完了していない各リクエストにキャンセル要求を送る。" #. type: Plain text #: build/C/man7/aio.7:220 msgid "" "Here is an example of what we might see when running this program. In this " "example, the program queues two requests to standard input, and these are " "satisfied by two lines of input containing \"abc\" and \"x\"." msgstr "" "以下はこのプログラムを実行した際の出力例である。\n" "この例では、標準入力に対して 2 つのリクエストを行い、\n" "\"abc\" と \"x\" という 2 行の入力を行っている。" #. type: Plain text #: build/C/man7/aio.7:244 #, no-wrap msgid "" "$ B<./a.out /dev/stdin /dev/stdin>\n" "opened /dev/stdin on descriptor 3\n" "opened /dev/stdin on descriptor 4\n" "aio_error():\n" " for request 0 (descriptor 3): In progress\n" " for request 1 (descriptor 4): In progress\n" "B\n" "I/O completion signal received\n" "aio_error():\n" " for request 0 (descriptor 3): I/O succeeded\n" " for request 1 (descriptor 4): In progress\n" "aio_error():\n" " for request 1 (descriptor 4): In progress\n" "B\n" "I/O completion signal received\n" "aio_error():\n" " for request 1 (descriptor 4): I/O succeeded\n" "All I/O requests completed\n" "aio_return():\n" " for request 0 (descriptor 3): 4\n" " for request 1 (descriptor 4): 2\n" msgstr "" "$ B<./a.out /dev/stdin /dev/stdin>\n" "opened /dev/stdin on descriptor 3\n" "opened /dev/stdin on descriptor 4\n" "aio_error():\n" " for request 0 (descriptor 3): In progress\n" " for request 1 (descriptor 4): In progress\n" "B\n" "I/O completion signal received\n" "aio_error():\n" " for request 0 (descriptor 3): I/O succeeded\n" " for request 1 (descriptor 4): In progress\n" "aio_error():\n" " for request 1 (descriptor 4): In progress\n" "B\n" "I/O completion signal received\n" "aio_error():\n" " for request 1 (descriptor 4): I/O succeeded\n" "All I/O requests completed\n" "aio_return():\n" " for request 0 (descriptor 3): 4\n" " for request 1 (descriptor 4): 2\n" #. type: SS #: build/C/man7/aio.7:246 #, no-wrap msgid "Program source" msgstr "プログラムのソース" #. type: Plain text #: build/C/man7/aio.7:255 #, no-wrap msgid "" "#include Estdlib.hE\n" "#include Eunistd.hE\n" "#include Estdio.hE\n" "#include Eerrno.hE\n" "#include Eaio.hE\n" "#include Esignal.hE\n" msgstr "" "#include Estdlib.hE\n" "#include Eunistd.hE\n" "#include Estdio.hE\n" "#include Eerrno.hE\n" "#include Eaio.hE\n" "#include Esignal.hE\n" #. type: Plain text #: build/C/man7/aio.7:257 #, no-wrap msgid "#define BUF_SIZE 20 /* Size of buffers for read operations */\n" msgstr "#define BUF_SIZE 20 /* Size of buffers for read operations */\n" #. type: Plain text #: build/C/man7/aio.7:259 #, no-wrap msgid "#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); } while (0)\n" msgstr "#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); } while (0)\n" #. type: Plain text #: build/C/man7/aio.7:261 #, no-wrap msgid "#define errMsg(msg) do { perror(msg); } while (0)\n" msgstr "#define errMsg(msg) do { perror(msg); } while (0)\n" #. type: Plain text #: build/C/man7/aio.7:268 #, no-wrap msgid "" "struct ioRequest { /* Application-defined structure for tracking\n" " I/O requests */\n" " int reqNum;\n" " int status;\n" " struct aiocb *aiocbp;\n" "};\n" msgstr "" "struct ioRequest { /* Application-defined structure for tracking\n" " I/O requests */\n" " int reqNum;\n" " int status;\n" " struct aiocb *aiocbp;\n" "};\n" #. type: Plain text #: build/C/man7/aio.7:272 #, no-wrap msgid "" "static volatile sig_atomic_t gotSIGQUIT = 0;\n" " /* On delivery of SIGQUIT, we attempt to\n" " cancel all outstanding I/O requests */\n" msgstr "" "static volatile sig_atomic_t gotSIGQUIT = 0;\n" " /* On delivery of SIGQUIT, we attempt to\n" " cancel all outstanding I/O requests */\n" #. type: Plain text #: build/C/man7/aio.7:278 #, no-wrap msgid "" "static void /* Handler for SIGQUIT */\n" "quitHandler(int sig)\n" "{\n" " gotSIGQUIT = 1;\n" "}\n" msgstr "" "static void /* Handler for SIGQUIT */\n" "quitHandler(int sig)\n" "{\n" " gotSIGQUIT = 1;\n" "}\n" #. type: Plain text #: build/C/man7/aio.7:280 #, no-wrap msgid "#define IO_SIGNAL SIGUSR1 /* Signal used to notify I/O completion */\n" msgstr "#define IO_SIGNAL SIGUSR1 /* Signal used to notify I/O completion */\n" #. type: Plain text #: build/C/man7/aio.7:285 #, no-wrap msgid "" "static void /* Handler for I/O completion signal */\n" "aioSigHandler(int sig, siginfo_t *si, void *ucontext)\n" "{\n" " write(STDOUT_FILENO, \"I/O completion signal received\\en\", 31);\n" msgstr "" "static void /* Handler for I/O completion signal */\n" "aioSigHandler(int sig, siginfo_t *si, void *ucontext)\n" "{\n" " write(STDOUT_FILENO, \"I/O completion signal received\\en\", 31);\n" #. type: Plain text #: build/C/man7/aio.7:291 #, no-wrap msgid "" " /* The corresponding ioRequest structure would be available as\n" " struct ioRequest *ioReq = si-Esi_value.sival_ptr;\n" " and the file descriptor would then be available via\n" " ioReq-Eaiocbp-Eaio_fildes */\n" "}\n" msgstr "" " /* The corresponding ioRequest structure would be available as\n" " struct ioRequest *ioReq = si-Esi_value.sival_ptr;\n" " and the file descriptor would then be available via\n" " ioReq-Eaiocbp-Eaio_fildes */\n" "}\n" #. type: Plain text #: build/C/man7/aio.7:301 #, no-wrap msgid "" "int\n" "main(int argc, char *argv[])\n" "{\n" " struct ioRequest *ioList;\n" " struct aiocb *aiocbList;\n" " struct sigaction sa;\n" " int s, j;\n" " int numReqs; /* Total number of queued I/O requests */\n" " int openReqs; /* Number of I/O requests still in progress */\n" msgstr "" "int\n" "main(int argc, char *argv[])\n" "{\n" " struct ioRequest *ioList;\n" " struct aiocb *aiocbList;\n" " struct sigaction sa;\n" " int s, j;\n" " int numReqs; /* Total number of queued I/O requests */\n" " int openReqs; /* Number of I/O requests still in progress */\n" #. type: Plain text #: build/C/man7/aio.7:307 #, no-wrap msgid "" " if (argc E 2) {\n" " fprintf(stderr, \"Usage: %s EpathnameE EpathnameE...\\en\",\n" " argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " if (argc E 2) {\n" " fprintf(stderr, \"Usage: %s EpathnameE EpathnameE...\\en\",\n" " argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: build/C/man7/aio.7:309 #, no-wrap msgid " numReqs = argc - 1;\n" msgstr " numReqs = argc - 1;\n" #. type: Plain text #: build/C/man7/aio.7:311 #, no-wrap msgid " /* Allocate our arrays */\n" msgstr " /* Allocate our arrays */\n" #. type: Plain text #: build/C/man7/aio.7:315 #, no-wrap msgid "" " ioList = calloc(numReqs, sizeof(struct ioRequest));\n" " if (ioList == NULL)\n" " errExit(\"calloc\");\n" msgstr "" " ioList = calloc(numReqs, sizeof(struct ioRequest));\n" " if (ioList == NULL)\n" " errExit(\"calloc\");\n" #. type: Plain text #: build/C/man7/aio.7:319 #, no-wrap msgid "" " aiocbList = calloc(numReqs, sizeof(struct aiocb));\n" " if (aiocbList == NULL)\n" " errExit(\"calloc\");\n" msgstr "" " aiocbList = calloc(numReqs, sizeof(struct aiocb));\n" " if (aiocbList == NULL)\n" " errExit(\"calloc\");\n" #. type: Plain text #: build/C/man7/aio.7:321 #, no-wrap msgid " /* Establish handlers for SIGQUIT and the I/O completion signal */\n" msgstr " /* Establish handlers for SIGQUIT and the I/O completion signal */\n" #. type: Plain text #: build/C/man7/aio.7:324 #, no-wrap msgid "" " sa.sa_flags = SA_RESTART;\n" " sigemptyset(&sa.sa_mask);\n" msgstr "" " sa.sa_flags = SA_RESTART;\n" " sigemptyset(&sa.sa_mask);\n" #. type: Plain text #: build/C/man7/aio.7:328 #, no-wrap msgid "" " sa.sa_handler = quitHandler;\n" " if (sigaction(SIGQUIT, &sa, NULL) == -1)\n" " errExit(\"sigaction\");\n" msgstr "" " sa.sa_handler = quitHandler;\n" " if (sigaction(SIGQUIT, &sa, NULL) == -1)\n" " errExit(\"sigaction\");\n" #. type: Plain text #: build/C/man7/aio.7:333 #, no-wrap msgid "" " sa.sa_flags = SA_RESTART | SA_SIGINFO;\n" " sa.sa_sigaction = aioSigHandler;\n" " if (sigaction(IO_SIGNAL, &sa, NULL) == -1)\n" " errExit(\"sigaction\");\n" msgstr "" " sa.sa_flags = SA_RESTART | SA_SIGINFO;\n" " sa.sa_sigaction = aioSigHandler;\n" " if (sigaction(IO_SIGNAL, &sa, NULL) == -1)\n" " errExit(\"sigaction\");\n" #. type: Plain text #: build/C/man7/aio.7:336 #, no-wrap msgid "" " /* Open each file specified on the command line, and queue\n" " a read request on the resulting file descriptor */\n" msgstr "" " /* Open each file specified on the command line, and queue\n" " a read request on the resulting file descriptor */\n" #. type: Plain text #: build/C/man7/aio.7:341 #, no-wrap msgid "" " for (j = 0; j E numReqs; j++) {\n" " ioList[j].reqNum = j;\n" " ioList[j].status = EINPROGRESS;\n" " ioList[j].aiocbp = &aiocbList[j];\n" msgstr "" " for (j = 0; j E numReqs; j++) {\n" " ioList[j].reqNum = j;\n" " ioList[j].status = EINPROGRESS;\n" " ioList[j].aiocbp = &aiocbList[j];\n" #. type: Plain text #: build/C/man7/aio.7:347 #, no-wrap msgid "" " ioList[j].aiocbp-Eaio_fildes = open(argv[j + 1], O_RDONLY);\n" " if (ioList[j].aiocbp-Eaio_fildes == -1)\n" " errExit(\"open\");\n" " printf(\"opened %s on descriptor %d\\en\", argv[j + 1],\n" " ioList[j].aiocbp-Eaio_fildes);\n" msgstr "" " ioList[j].aiocbp-Eaio_fildes = open(argv[j + 1], O_RDONLY);\n" " if (ioList[j].aiocbp-Eaio_fildes == -1)\n" " errExit(\"open\");\n" " printf(\"opened %s on descriptor %d\\en\", argv[j + 1],\n" " ioList[j].aiocbp-Eaio_fildes);\n" #. type: Plain text #: build/C/man7/aio.7:351 #, no-wrap msgid "" " ioList[j].aiocbp-Eaio_buf = malloc(BUF_SIZE);\n" " if (ioList[j].aiocbp-Eaio_buf == NULL)\n" " errExit(\"malloc\");\n" msgstr "" " ioList[j].aiocbp-Eaio_buf = malloc(BUF_SIZE);\n" " if (ioList[j].aiocbp-Eaio_buf == NULL)\n" " errExit(\"malloc\");\n" #. type: Plain text #: build/C/man7/aio.7:359 #, no-wrap msgid "" " ioList[j].aiocbp-Eaio_nbytes = BUF_SIZE;\n" " ioList[j].aiocbp-Eaio_reqprio = 0;\n" " ioList[j].aiocbp-Eaio_offset = 0;\n" " ioList[j].aiocbp-Eaio_sigevent.sigev_notify = SIGEV_SIGNAL;\n" " ioList[j].aiocbp-Eaio_sigevent.sigev_signo = IO_SIGNAL;\n" " ioList[j].aiocbp-Eaio_sigevent.sigev_value.sival_ptr =\n" " &ioList[j];\n" msgstr "" " ioList[j].aiocbp-Eaio_nbytes = BUF_SIZE;\n" " ioList[j].aiocbp-Eaio_reqprio = 0;\n" " ioList[j].aiocbp-Eaio_offset = 0;\n" " ioList[j].aiocbp-Eaio_sigevent.sigev_notify = SIGEV_SIGNAL;\n" " ioList[j].aiocbp-Eaio_sigevent.sigev_signo = IO_SIGNAL;\n" " ioList[j].aiocbp-Eaio_sigevent.sigev_value.sival_ptr =\n" " &ioList[j];\n" #. type: Plain text #: build/C/man7/aio.7:364 #, no-wrap msgid "" " s = aio_read(ioList[j].aiocbp);\n" " if (s == -1)\n" " errExit(\"aio_read\");\n" " }\n" msgstr "" " s = aio_read(ioList[j].aiocbp);\n" " if (s == -1)\n" " errExit(\"aio_read\");\n" " }\n" #. type: Plain text #: build/C/man7/aio.7:366 #, no-wrap msgid " openReqs = numReqs;\n" msgstr " openReqs = numReqs;\n" #. type: Plain text #: build/C/man7/aio.7:368 #, no-wrap msgid " /* Loop, monitoring status of I/O requests */\n" msgstr " /* Loop, monitoring status of I/O requests */\n" #. type: Plain text #: build/C/man7/aio.7:371 #, no-wrap msgid "" " while (openReqs E 0) {\n" " sleep(3); /* Delay between each monitoring step */\n" msgstr "" " while (openReqs E 0) {\n" " sleep(3); /* Delay between each monitoring step */\n" #. type: Plain text #: build/C/man7/aio.7:373 #, no-wrap msgid " if (gotSIGQUIT) {\n" msgstr " if (gotSIGQUIT) {\n" #. type: Plain text #: build/C/man7/aio.7:377 #, no-wrap msgid "" " /* On receipt of SIGQUIT, attempt to cancel each of the\n" " outstanding I/O requests, and display status returned\n" " from the cancellation requests */\n" msgstr "" " /* On receipt of SIGQUIT, attempt to cancel each of the\n" " outstanding I/O requests, and display status returned\n" " from the cancellation requests */\n" #. type: Plain text #: build/C/man7/aio.7:379 #, no-wrap msgid " printf(\"got SIGQUIT; canceling I/O requests: \\en\");\n" msgstr " printf(\"got SIGQUIT; canceling I/O requests: \\en\");\n" #. type: Plain text #: build/C/man7/aio.7:396 #, no-wrap msgid "" " for (j = 0; j E numReqs; j++) {\n" " if (ioList[j].status == EINPROGRESS) {\n" " printf(\" Request %d on descriptor %d:\", j,\n" " ioList[j].aiocbp-Eaio_fildes);\n" " s = aio_cancel(ioList[j].aiocbp-Eaio_fildes,\n" " ioList[j].aiocbp);\n" " if (s == AIO_CANCELED)\n" " printf(\"I/O canceled\\en\");\n" " else if (s == AIO_NOTCANCELED)\n" " printf(\"I/O not canceled\\en\");\n" " else if (s == AIO_ALLDONE)\n" " printf(\"I/O all done\\en\");\n" " else\n" " errMsg(\"aio_cancel\");\n" " }\n" " }\n" msgstr "" " for (j = 0; j E numReqs; j++) {\n" " if (ioList[j].status == EINPROGRESS) {\n" " printf(\" Request %d on descriptor %d:\", j,\n" " ioList[j].aiocbp-Eaio_fildes);\n" " s = aio_cancel(ioList[j].aiocbp-Eaio_fildes,\n" " ioList[j].aiocbp);\n" " if (s == AIO_CANCELED)\n" " printf(\"I/O canceled\\en\");\n" " else if (s == AIO_NOTCANCELED)\n" " printf(\"I/O not canceled\\en\");\n" " else if (s == AIO_ALLDONE)\n" " printf(\"I/O all done\\en\");\n" " else\n" " errMsg(\"aio_cancel\");\n" " }\n" " }\n" #. type: Plain text #: build/C/man7/aio.7:399 #, no-wrap msgid "" " gotSIGQUIT = 0;\n" " }\n" msgstr "" " gotSIGQUIT = 0;\n" " }\n" #. type: Plain text #: build/C/man7/aio.7:402 #, no-wrap msgid "" " /* Check the status of each I/O request that is still\n" " in progress */\n" msgstr "" " /* Check the status of each I/O request that is still\n" " in progress */\n" #. type: Plain text #: build/C/man7/aio.7:409 #, no-wrap msgid "" " printf(\"aio_error():\\en\");\n" " for (j = 0; j E numReqs; j++) {\n" " if (ioList[j].status == EINPROGRESS) {\n" " printf(\" for request %d (descriptor %d): \",\n" " j, ioList[j].aiocbp-Eaio_fildes);\n" " ioList[j].status = aio_error(ioList[j].aiocbp);\n" msgstr "" " printf(\"aio_error():\\en\");\n" " for (j = 0; j E numReqs; j++) {\n" " if (ioList[j].status == EINPROGRESS) {\n" " printf(\" for request %d (descriptor %d): \",\n" " j, ioList[j].aiocbp-Eaio_fildes);\n" " ioList[j].status = aio_error(ioList[j].aiocbp);\n" #. type: Plain text #: build/C/man7/aio.7:424 #, no-wrap msgid "" " switch (ioList[j].status) {\n" " case 0:\n" " printf(\"I/O succeeded\\en\");\n" " break;\n" " case EINPROGRESS:\n" " printf(\"In progress\\en\");\n" " break;\n" " case ECANCELED:\n" " printf(\"Canceled\\en\");\n" " break;\n" " default:\n" " errMsg(\"aio_error\");\n" " break;\n" " }\n" msgstr "" " switch (ioList[j].status) {\n" " case 0:\n" " printf(\"I/O succeeded\\en\");\n" " break;\n" " case EINPROGRESS:\n" " printf(\"In progress\\en\");\n" " break;\n" " case ECANCELED:\n" " printf(\"Canceled\\en\");\n" " break;\n" " default:\n" " errMsg(\"aio_error\");\n" " break;\n" " }\n" #. type: Plain text #: build/C/man7/aio.7:430 #, no-wrap msgid "" " if (ioList[j].status != EINPROGRESS)\n" " openReqs--;\n" " }\n" " }\n" " }\n" msgstr "" " if (ioList[j].status != EINPROGRESS)\n" " openReqs--;\n" " }\n" " }\n" " }\n" #. type: Plain text #: build/C/man7/aio.7:432 #, no-wrap msgid " printf(\"All I/O requests completed\\en\");\n" msgstr " printf(\"All I/O requests completed\\en\");\n" #. type: Plain text #: build/C/man7/aio.7:434 #, no-wrap msgid " /* Check status return of all I/O requests */\n" msgstr " /* Check status return of all I/O requests */\n" #. type: Plain text #: build/C/man7/aio.7:438 #, no-wrap msgid "" " printf(\"aio_return():\\en\");\n" " for (j = 0; j E numReqs; j++) {\n" " ssize_t s;\n" msgstr "" " printf(\"aio_return():\\en\");\n" " for (j = 0; j E numReqs; j++) {\n" " ssize_t s;\n" #. type: Plain text #: build/C/man7/aio.7:443 #, no-wrap msgid "" " s = aio_return(ioList[j].aiocbp);\n" " printf(\" for request %d (descriptor %d): %zd\\en\",\n" " j, ioList[j].aiocbp-Eaio_fildes, s);\n" " }\n" msgstr "" " s = aio_return(ioList[j].aiocbp);\n" " printf(\" for request %d (descriptor %d): %zd\\en\",\n" " j, ioList[j].aiocbp-Eaio_fildes, s);\n" " }\n" #. type: Plain text #: build/C/man7/aio.7:446 #, no-wrap msgid "" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" " exit(EXIT_SUCCESS);\n" "}\n" #. type: SH #: build/C/man7/aio.7:447 build/C/man3/aio_cancel.3:119 #: build/C/man3/aio_error.3:92 build/C/man3/aio_fsync.3:105 #: build/C/man3/aio_init.3:99 build/C/man3/aio_read.3:149 #: build/C/man3/aio_return.3:87 build/C/man3/aio_suspend.3:129 #: build/C/man3/aio_write.3:151 build/C/man2/io_cancel.2:94 #: build/C/man2/io_destroy.2:83 build/C/man2/io_getevents.2:100 #: build/C/man2/io_setup.2:96 build/C/man2/io_submit.2:98 #: build/C/man3/lio_listio.3:219 #, no-wrap msgid "SEE ALSO" msgstr "関連項目" #. type: Plain text #: build/C/man7/aio.7:462 msgid "" "B(2), B(2), B(2), B(2), " "B(2), B(3), B(3), B(3), " "B(3), B(3), B(3), B(3)" msgstr "" "B(2), B(2), B(2), B(2), " "B(2), B(3), B(3), B(3), " "B(3), B(3), B(3), B(3)" #. type: Plain text #: build/C/man7/aio.7:465 msgid "" "E<.UR http://www.squid-cache.org\\:/~adrian\\:/Reprint-Pulavarty-OLS2003." "pdf> E<.UE>" msgstr "" "E<.UR http://www.squid-cache.org\\:/~adrian\\:/Reprint-Pulavarty-OLS2003." "pdf> E<.UE>" #. type: SH #: build/C/man7/aio.7:465 build/C/man3/aio_cancel.3:128 #: build/C/man3/aio_error.3:101 build/C/man3/aio_fsync.3:115 #: build/C/man3/aio_init.3:101 build/C/man3/aio_read.3:158 #: build/C/man3/aio_return.3:96 build/C/man3/aio_suspend.3:139 #: build/C/man3/aio_write.3:160 build/C/man2/io_cancel.2:102 #: build/C/man2/io_destroy.2:91 build/C/man2/io_getevents.2:110 #: build/C/man2/io_setup.2:104 build/C/man2/io_submit.2:106 #: build/C/man3/lio_listio.3:227 #, no-wrap msgid "COLOPHON" msgstr "この文書について" #. type: Plain text #: build/C/man7/aio.7:472 build/C/man3/aio_cancel.3:135 #: build/C/man3/aio_error.3:108 build/C/man3/aio_fsync.3:122 #: build/C/man3/aio_init.3:108 build/C/man3/aio_read.3:165 #: build/C/man3/aio_return.3:103 build/C/man3/aio_suspend.3:146 #: build/C/man3/aio_write.3:167 build/C/man2/io_cancel.2:109 #: build/C/man2/io_destroy.2:98 build/C/man2/io_getevents.2:117 #: build/C/man2/io_setup.2:111 build/C/man2/io_submit.2:113 #: build/C/man3/lio_listio.3:234 msgid "" "This page is part of release 3.65 of the Linux I project. A " "description of the project, and information about reporting bugs, can be " "found at \\%http://www.kernel.org/doc/man-pages/." msgstr "" "この man ページは Linux I プロジェクトのリリース 3.65 の一部\n" "である。プロジェクトの説明とバグ報告に関する情報は\n" "http://www.kernel.org/doc/man-pages/ に書かれている。" #. type: TH #: build/C/man3/aio_cancel.3:24 #, no-wrap msgid "AIO_CANCEL" msgstr "AIO_CANCEL" #. type: TH #: build/C/man3/aio_cancel.3:24 build/C/man3/aio_fsync.3:24 #: build/C/man3/aio_read.3:24 build/C/man3/aio_suspend.3:25 #: build/C/man3/aio_write.3:24 build/C/man3/lio_listio.3:24 #, no-wrap msgid "2012-05-08" msgstr "2012-05-08" #. type: Plain text #: build/C/man3/aio_cancel.3:27 msgid "aio_cancel - cancel an outstanding asynchronous I/O request" msgstr "aio_cancel - 完了していない非同期 I/O リクエストをキャンセルする" #. type: SH #: build/C/man3/aio_cancel.3:27 build/C/man3/aio_error.3:27 #: build/C/man3/aio_fsync.3:27 build/C/man3/aio_init.3:29 #: build/C/man3/aio_read.3:27 build/C/man3/aio_return.3:27 #: build/C/man3/aio_suspend.3:28 build/C/man3/aio_write.3:27 #: build/C/man2/io_cancel.2:10 build/C/man2/io_destroy.2:10 #: build/C/man2/io_getevents.2:10 build/C/man2/io_setup.2:10 #: build/C/man2/io_submit.2:10 build/C/man3/lio_listio.3:27 #, no-wrap msgid "SYNOPSIS" msgstr "書式" #. type: Plain text #: build/C/man3/aio_cancel.3:29 build/C/man3/aio_error.3:29 #: build/C/man3/aio_fsync.3:29 build/C/man3/aio_read.3:29 #: build/C/man3/aio_return.3:29 build/C/man3/aio_write.3:29 msgid "B<#include Eaio.hE>" msgstr "B<#include Eaio.hE>" #. type: Plain text #: build/C/man3/aio_cancel.3:31 msgid "BIB<, struct aiocb *>IB<);>" msgstr "BIB<, struct aiocb *>IB<);>" #. type: Plain text #: build/C/man3/aio_cancel.3:33 build/C/man3/aio_error.3:33 #: build/C/man3/aio_fsync.3:33 build/C/man3/aio_init.3:38 #: build/C/man3/aio_read.3:33 build/C/man3/aio_return.3:33 #: build/C/man3/aio_write.3:33 msgid "Link with I<-lrt>." msgstr "I<-lrt> でリンクする。" #. type: Plain text #: build/C/man3/aio_cancel.3:51 msgid "" "The B() function attempts to cancel outstanding asynchronous I/" "O requests for the file descriptor I. If I is NULL, all such " "requests are canceled. Otherwise, only the request described by the control " "block pointed to by I is canceled. (See B(7) for a " "description of the I structure.)" msgstr "" "B() 関数は、ファイルディスクリプタ I についての完了して\n" "いない非同期 I/O リクエストをキャンセルしようとする。 I が\n" "NULL の場合、そのような全てのリクエストがキャンセルされる。 I\n" "が NULL でない場合、I で指された制御ブロックで記述されたリクエ\n" "ストのみがキャンセルされる。(I 構造体の説明は B(7) を参照)" #. type: Plain text #: build/C/man3/aio_cancel.3:63 msgid "" "Normal asynchronous notification occurs for canceled requests (see B" "(7) and B(7)). The request return status (B(3)) is " "set to -1, and the request error status (B(3)) is set to " "B. The control block of requests that cannot be canceled is not " "changed." msgstr "" "キャンセルされたリクエストに対して、通常の非同期通知が起こる\n" "(B(7) と B(7) を参照)。\n" "リクエストの返り値 (B(3)) は -1 に設定され、\n" "リクエストのエラー状態 (B(3)) は B に設定される。\n" "キャンセルできないリクエストの制御ブロックは変更されない。" #. type: Plain text #: build/C/man3/aio_cancel.3:70 msgid "" "If the request could not be canceled, then it will terminate in the usual " "way after performing the I/O operation. (In this case, B(3) " "will return the status B.)" msgstr "" "リクエストがキャンセルできない場合には、\n" "B() は通常の I/O 操作の実行後と同じように終了する。\n" "(この場合、 B(3) はステータス B を返す)。" #. type: Plain text #: build/C/man3/aio_cancel.3:77 msgid "" "If I is not NULL, and I differs from the file descriptor with " "which the asynchronous operation was initiated, unspecified results occur." msgstr "" "I が NULL でなく、かつ I が非同期操作が開始されたファイルディスク" "リプタと異なる場合、 生じる結果は不定である。" #. FreeBSD: not those on raw disk devices. #. type: Plain text #: build/C/man3/aio_cancel.3:80 msgid "Which operations are cancelable is implementation-defined." msgstr "どの操作をキャンセルできるかは、実装定義である。" #. type: SH #: build/C/man3/aio_cancel.3:80 build/C/man3/aio_error.3:44 #: build/C/man3/aio_fsync.3:73 build/C/man3/aio_read.3:88 #: build/C/man3/aio_return.3:49 build/C/man3/aio_suspend.3:80 #: build/C/man3/aio_write.3:95 build/C/man2/io_cancel.2:37 #: build/C/man2/io_destroy.2:29 build/C/man2/io_getevents.2:34 #: build/C/man2/io_setup.2:32 build/C/man2/io_submit.2:31 #: build/C/man3/lio_listio.3:108 #, no-wrap msgid "RETURN VALUE" msgstr "返り値" #. type: Plain text #: build/C/man3/aio_cancel.3:84 msgid "The B() function returns one of the following values:" msgstr "B() 関数は以下のいずれかの値を返す。" #. type: TP #: build/C/man3/aio_cancel.3:84 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/aio_cancel.3:87 msgid "All requests were successfully canceled." msgstr "全てのリクエストが正常にキャンセルされた。" #. type: TP #: build/C/man3/aio_cancel.3:87 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/aio_cancel.3:93 msgid "" "At least one of the requests specified was not canceled because it was in " "progress. In this case, one may check the status of individual requests " "using B(3)." msgstr "" "指定されたリクエストのうち少なくとも一つが、実行中のため\n" "キャンセルできなかった。この場合には、B(3) を使って\n" "個々のリクエストの状態を確認できる。" #. type: TP #: build/C/man3/aio_cancel.3:93 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/aio_cancel.3:96 msgid "All requests had already been completed before the call." msgstr "呼び出しの前に全てのリクエストがすでに完了していた。" #. type: TP #: build/C/man3/aio_cancel.3:96 #, no-wrap msgid "-1" msgstr "-1" #. type: Plain text #: build/C/man3/aio_cancel.3:101 msgid "" "An error occurred. The cause of the error can be found by inspecting " "I." msgstr "" "エラーが発生した。\n" "I を確認することでエラーの原因を知ることができる。" #. type: TP #: build/C/man3/aio_cancel.3:102 build/C/man3/aio_fsync.3:83 #: build/C/man3/aio_read.3:107 build/C/man3/aio_write.3:114 #: build/C/man2/io_submit.2:41 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/aio_cancel.3:106 msgid "I is not a valid file descriptor." msgstr "I が有効なファイルディスクリプタでない。" #. type: TP #: build/C/man3/aio_cancel.3:106 build/C/man3/aio_error.3:74 #: build/C/man3/aio_fsync.3:95 build/C/man3/aio_read.3:119 #: build/C/man3/aio_return.3:69 build/C/man3/aio_suspend.3:99 #: build/C/man3/aio_write.3:129 build/C/man2/io_cancel.2:52 #: build/C/man2/io_destroy.2:41 build/C/man2/io_getevents.2:53 #: build/C/man2/io_setup.2:54 build/C/man2/io_submit.2:56 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/aio_cancel.3:110 msgid "B() is not implemented." msgstr "B() は実装されていない。" #. type: Plain text #: build/C/man3/aio_cancel.3:114 msgid "The B() function is available since glibc 2.1." msgstr "B() 関数は glibc 2.1 以降で利用できる。" #. type: Plain text #: build/C/man3/aio_cancel.3:119 build/C/man3/aio_error.3:92 #: build/C/man3/aio_read.3:149 build/C/man3/aio_return.3:87 msgid "See B(7)." msgstr "B(7) を参照。" #. type: Plain text #: build/C/man3/aio_cancel.3:128 msgid "" "B(3), B(3), B(3), B(3), " "B(3), B(3), B(3), B(7)" msgstr "" "B(3), B(3), B(3), B(3), \n" "B(3), B(3), B(3), B(7)" #. type: TH #: build/C/man3/aio_error.3:24 #, no-wrap msgid "AIO_ERROR" msgstr "AIO_ERROR" #. type: TH #: build/C/man3/aio_error.3:24 build/C/man3/aio_return.3:24 #, no-wrap msgid "2013-07-04" msgstr "2013-07-04" #. type: Plain text #: build/C/man3/aio_error.3:27 msgid "aio_error - get error status of asynchronous I/O operation" msgstr "aio_error - 非同期 I/O 操作のエラー状態を取得する" #. type: Plain text #: build/C/man3/aio_error.3:31 msgid "BIB<);>" msgstr "BIB<);>" #. type: Plain text #: build/C/man3/aio_error.3:44 msgid "" "The B() function returns the error status for the asynchronous I/" "O request with control block pointed to by I. (See B(7) for a " "description of the I structure.)" msgstr "" "B() 関数は I で指された制御ブロックでの非同期 I/O リクエ" "ス\n" "トのエラー状態を返す。(I 構造体の説明は B(7) を参照)" #. type: Plain text #: build/C/man3/aio_error.3:46 msgid "This function returns one of the following:" msgstr "この関数の返り値は以下のいずれかである。" #. type: IP #: build/C/man3/aio_error.3:46 build/C/man3/aio_error.3:50 #: build/C/man3/aio_error.3:53 build/C/man3/aio_error.3:55 #: build/C/man3/aio_suspend.3:43 build/C/man3/aio_suspend.3:47 #: build/C/man3/aio_suspend.3:49 #, no-wrap msgid "*" msgstr "*" #. type: Plain text #: build/C/man3/aio_error.3:50 msgid "B, if the request has not been completed yet." msgstr "B (リクエストがまだ完了していない場合)" #. type: Plain text #: build/C/man3/aio_error.3:53 msgid "B, if the request was canceled." msgstr "B (リクエストがキャンセルされた場合)" #. type: Plain text #: build/C/man3/aio_error.3:55 msgid "0, if the request completed successfully." msgstr "0 (リクエストが正常に完了した場合)" #. type: Plain text #: build/C/man3/aio_error.3:66 msgid "" "A positive error number, if the asynchronous I/O operation failed. This is " "the same value that would have been stored in the I variable in the " "case of a synchronous B(2), B(2), B(2), or B" "(2) call." msgstr "" "正のエラー番号 (非同期 I/O 命令が失敗した場合)。\n" "同期の B(2), B(2), B(2), B(2) の呼び出しの場合" "で\n" "I 変数に格納されるのと同じ値になる。" #. type: Plain text #: build/C/man3/aio_error.3:74 msgid "" "I does not point at a control block for an asynchronous I/O request " "of which the return status (see B(3)) has not been retrieved " "yet." msgstr "" "I が、まだ返り値 (return status) (B(3) を参照) が取得さ" "れていない非同期 I/O リクエストの制御ブロックを指していない。" #. type: Plain text #: build/C/man3/aio_error.3:78 msgid "B() is not implemented." msgstr "B() は実装されていない。" #. type: Plain text #: build/C/man3/aio_error.3:82 msgid "The B() function is available since glibc 2.1." msgstr "B() 関数は glibc 2.1 以降で利用できる。" #. type: SH #: build/C/man3/aio_error.3:82 build/C/man3/aio_return.3:77 #, no-wrap msgid "ATTRIBUTES" msgstr "属性" #. type: SS #: build/C/man3/aio_error.3:83 build/C/man3/aio_return.3:78 #, no-wrap msgid "Multithreading (see pthreads(7))" msgstr "マルチスレッディング (pthreads(7) 参照)" #. type: Plain text #: build/C/man3/aio_error.3:87 msgid "The B() function is thread-safe." msgstr "B() 関数はスレッドセーフである。" #. type: Plain text #: build/C/man3/aio_error.3:101 msgid "" "B(3), B(3), B(3), B(3), " "B(3), B(3), B(3), B(7)" msgstr "" "B(3), B(3), B(3), B(3), " "B(3), B(3), B(3), B(7)" #. type: TH #: build/C/man3/aio_fsync.3:24 #, no-wrap msgid "AIO_FSYNC" msgstr "AIO_FSYNC" #. type: Plain text #: build/C/man3/aio_fsync.3:27 msgid "aio_fsync - asynchronous file synchronization" msgstr "aio_fsync - 非同期ファイルを同期させる" #. type: Plain text #: build/C/man3/aio_fsync.3:31 msgid "BIB<, struct aiocb *>IB<);>" msgstr "BIB<, struct aiocb *>IB<);>" #. type: Plain text #: build/C/man3/aio_fsync.3:44 msgid "" "The B() function does a sync on all outstanding asynchronous I/O " "operations associated with Iaio_fildes>. (See B(7) for a " "description of the I structure.)" msgstr "" "B() 関数は、 Iaio_fildes> で関連付けられているまだ\n" "完了していない全ての非同期 I/O 操作を同期させる。\n" "(I 構造体の説明は B(7) を参照)" #. type: Plain text #: build/C/man3/aio_fsync.3:58 msgid "" "More precisely, if I is B, then all currently queued I/O " "operations shall be completed as if by a call of B(2), and if I " "is B, this call is the asynchronous analog of B(2)." msgstr "" "より正確に言うと、 I が B の場合、現在キューに入れられている全" "て\n" "の I/O 操作は、 B(2) が呼ばれたかのように完了されるだろう。 また\n" "I が B の場合、この呼び出しは B(2) の非同期版となる。" #. type: Plain text #: build/C/man3/aio_fsync.3:60 msgid "Note that this is a request only; it does not wait for I/O completion." msgstr "" "この関数はリクエストを行うだけである点に注意すること。\n" "I/O の完了の待ち合わせは行わない。" #. type: Plain text #: build/C/man3/aio_fsync.3:73 msgid "" "Apart from I, the only field in the structure pointed to by " "I that is used by this call is the I field (a " "I structure, described in B(7)), which indicates the " "desired type of asynchronous notification at completion. All other fields " "are ignored." msgstr "" "I で指される構造体のフィールドのうち、この呼び出しで I\n" "以外に使用されるのは I フィールド (I 構造体、説明は\n" "B(7) 参照) のみである。このフィールドは、完了時の非同期通知に使用\n" "したいタイプを示す。 その他のフィールドは無視される。" #. type: Plain text #: build/C/man3/aio_fsync.3:79 msgid "" "On success (the sync request was successfully queued) this function returns " "0. On error, -1 is returned, and I is set appropriately." msgstr "" "成功した場合 (同期リクエストをキューに入れるのに成功した場合)、 この関数は 0 " "を返す。 エラーの場合、-1 が返され、 I が適切に設定される。" #. type: TP #: build/C/man3/aio_fsync.3:80 build/C/man3/aio_read.3:104 #: build/C/man3/aio_suspend.3:89 build/C/man3/aio_write.3:111 #: build/C/man2/io_cancel.2:43 build/C/man2/io_setup.2:38 #: build/C/man2/io_submit.2:38 build/C/man3/lio_listio.3:150 #: build/C/man3/lio_listio.3:153 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/aio_fsync.3:83 build/C/man3/aio_read.3:107 #: build/C/man3/aio_write.3:114 build/C/man3/lio_listio.3:153 msgid "Out of resources." msgstr "リソースが足りない。" #. type: Plain text #: build/C/man3/aio_fsync.3:87 build/C/man3/aio_write.3:118 msgid "I is not a valid file descriptor open for writing." msgstr "" "I が書き込みのためにオープンされた有効なファイルディスクリプタで" "はない。" #. type: Plain text #: build/C/man3/aio_fsync.3:95 msgid "" "Synchronized I/O is not supported for this file, or I is not B " "or B." msgstr "" "このファイルでは同期 I/O がサポートされていない。\n" "または I が B でも B でもない。" #. type: Plain text #: build/C/man3/aio_fsync.3:99 msgid "B() is not implemented." msgstr "B() は実装されていない。" #. type: Plain text #: build/C/man3/aio_fsync.3:103 msgid "The B() function is available since glibc 2.1." msgstr "The B() 関数は glibc 2.1 以降で利用できる。" #. type: Plain text #: build/C/man3/aio_fsync.3:115 msgid "" "B(3), B(3), B(3), B(3), " "B(3), B(3), B(3), B(7), B" "(7)" msgstr "" "B(3), B(3), B(3), B(3), " "B(3), B(3), B(3), B(7), B" "(7)" #. type: TH #: build/C/man3/aio_init.3:26 #, no-wrap msgid "AIO_INIT" msgstr "AIO_INIT" #. type: TH #: build/C/man3/aio_init.3:26 #, no-wrap msgid "2012-04-26" msgstr "2012-04-26" #. type: Plain text #: build/C/man3/aio_init.3:29 msgid "aio_init - asynchronous I/O initialization" msgstr "aio_init - 非同期 I/O の初期化" #. type: Plain text #: build/C/man3/aio_init.3:33 #, no-wrap msgid "" "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n" "B<#include Eaio.hE>\n" msgstr "" "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n" "B<#include Eaio.hE>\n" #. type: Plain text #: build/C/man3/aio_init.3:35 #, no-wrap msgid "BIB<);>\n" msgstr "BIB<);>\n" #. type: Plain text #: build/C/man3/aio_init.3:45 msgid "" "The GNU-specific B() function allows the caller to provide tuning " "hints to the glibc POSIX AIO implementation. Use of this function is " "optional, but to be effective, it must be called before employing any other " "functions in the POSIX AIO API." msgstr "" "GNU 固有の B() 関数を使うと、呼び出し側が glibc の POSIX AIO 実装" "に\n" "対して調整 (チューニング) のヒントを与えることができる。この関数は使用しな" "く\n" "てもよいが、この関数が効果を持つには、POSIX AIO API の他の関数を利用する前" "に\n" "呼び出さなければならない。" #. type: Plain text #: build/C/man3/aio_init.3:49 msgid "" "The tuning information is provided in the buffer pointed to by the argument " "I. This buffer is a structure of the following form:" msgstr "" "チューニングの情報は、引き数 I が指すバッファで与える。\n" "このバッファは以下の形式の構造体である。" #. type: Plain text #: build/C/man3/aio_init.3:64 #, no-wrap msgid "" "struct aioinit {\n" " int aio_threads; /* Maximum number of threads */\n" " int aio_num; /* Number of expected simultaneous\n" " requests */\n" " int aio_locks; /* Not used */\n" " int aio_usedba; /* Not used */\n" " int aio_debug; /* Not used */\n" " int aio_numusers; /* Not used */\n" " int aio_idle_time; /* Number of seconds before idle thread\n" " terminates (since glibc 2.2) */\n" " int aio_reserved;\n" "};\n" msgstr "" "struct aioinit {\n" " int aio_threads; /* Maximum number of threads */\n" " int aio_num; /* Number of expected simultaneous\n" " requests */\n" " int aio_locks; /* Not used */\n" " int aio_usedba; /* Not used */\n" " int aio_debug; /* Not used */\n" " int aio_numusers; /* Not used */\n" " int aio_idle_time; /* Number of seconds before idle thread\n" " terminates (since glibc 2.2) */\n" " int aio_reserved;\n" "};\n" #. type: Plain text #: build/C/man3/aio_init.3:70 msgid "The following fields are used in the I structure:" msgstr "I 構造体のフィールドのうち以下が使用される。" #. type: TP #: build/C/man3/aio_init.3:70 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man3/aio_init.3:78 msgid "" "This field specifies the maximum number of worker threads that may be used " "by the implementation. If the number of outstanding I/O operations exceeds " "this limit, then excess operations will be queued until a worker thread " "becomes free. If this field is specified with a value less than 1, the " "value 1 is used. The default value is 20." msgstr "" "このフィールドは、AIO の実装が使用できるワーカースレッド数の最大値を指定す" "る。\n" "完了していない I/O 操作の数がこの上限を超えた場合、超過した操作は\n" "空いたワーカースレッドができるまでキューに入る。\n" "このフィールドに 1 未満の値を指定した場合には、値 1 が使用される。\n" "デフォルト値は 20 である。" #. type: TP #: build/C/man3/aio_init.3:78 #, no-wrap msgid "I" msgstr "I" #. FIXME But, if aio_num > 32, the behavior looks strange. See #. http://sourceware.org/bugzilla/show_bug.cgi?id=12083 #. type: Plain text #: build/C/man3/aio_init.3:87 msgid "" "This field should specify the maximum number of simultaneous I/O requests " "that the caller expects to enqueue. If a value less than 32 is specified " "for this field, it is rounded up to 32. The default value is 64." msgstr "" "このフィールドは、呼び出し側がキューに入れる予定の\n" "同時 I/O リクエスト数の最大値を指定する。\n" "このフィールドに 32 未満の値が指定された場合、値は 32 に切り上げられる。\n" "デフォルト値は 64 である。" #. type: TP #: build/C/man3/aio_init.3:87 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man3/aio_init.3:93 msgid "" "This field specifies the amount of time in seconds that a worker thread " "should wait for further requests before terminating, after having completed " "a previous request. The default value is 1." msgstr "" "このフィールドは、あるワーカースレッドが、前のリクエストの処理を完了してか" "ら、\n" "次のリクエストをどのくらい時間待つかを秒単位で指定する。\n" "指定した時間を経過しても次のリクエストがなければ、\n" "そのワーカースレッドは終了される。デフォルト値は 1 秒である。" #. type: Plain text #: build/C/man3/aio_init.3:97 msgid "The B() function is available since glibc 2.1." msgstr "The B() 関数は glibc 2.1 以降で利用できる。" #. type: Plain text #: build/C/man3/aio_init.3:99 msgid "This function is a GNU extension." msgstr "この関数は GNU による拡張である。" #. type: Plain text #: build/C/man3/aio_init.3:101 msgid "B(7)" msgstr "B(7)" #. type: TH #: build/C/man3/aio_read.3:24 #, no-wrap msgid "AIO_READ" msgstr "AIO_READ" #. type: Plain text #: build/C/man3/aio_read.3:27 msgid "aio_read - asynchronous read" msgstr "aio_read - 非同期で読み込む" #. type: Plain text #: build/C/man3/aio_read.3:31 msgid "BIB<);>" msgstr "BIB<);>" #. type: Plain text #: build/C/man3/aio_read.3:41 msgid "" "The B() function queues the I/O request described by the buffer " "pointed to by I. This function is the asynchronous analog of B" "(2). The arguments of the call" msgstr "" "B() 関数は、I が指すバッファに記載された I/O リクエストを\n" "キューに入れる。この関数は B(2) の非同期版である。\n" "呼び出し" #. type: Plain text #: build/C/man3/aio_read.3:43 #, no-wrap msgid " read(fd, buf, count)\n" msgstr " read(fd, buf, count)\n" #. type: Plain text #: build/C/man3/aio_read.3:56 build/C/man3/aio_write.3:56 msgid "" "correspond (in order) to the fields I, I, and " "I of the structure pointed to by I. (See B(7) for " "a description of the I structure.)" msgstr "" "の各引き数は I が指す構造体の I, I, " "I\n" "に (この順序で) 対応する (I 構造体の説明は B(7) を参照)。" #. type: Plain text #: build/C/man3/aio_read.3:62 msgid "" "The data is read starting at the absolute file offset Iaio_offset>, regardless of the current file offset. After the call, " "the value of the current file offset is unspecified." msgstr "" "データの読み込みは、カレントのファイルオフセットに関係なく、\n" "絶対ファイルオフセット Iaio_offset> を開始点として行われる。\n" "呼び出しの後のカレントのファイルオフセットは規定されていない。" #. type: Plain text #: build/C/man3/aio_read.3:75 msgid "" "The \"asynchronous\" means that this call returns as soon as the request has " "been enqueued; the read may or may not have completed when the call " "returns. One tests for completion using B(3). The return status " "of a completed I/O operation can be obtained by B(3). " "Asynchronous notification of I/O completion can be obtained by setting " "Iaio_sigevent> appropriately; see B(7) for details." msgstr "" "「非同期」とは「リクエストがキューに入れられたら、この呼び出しはすぐに返" "る」\n" "ということである。 呼び出しから戻った時に、読み込みは完了しているかも知れない" "し、\n" "完了していないかも知れない。 B(3) を使うことで完了したかをテストで" "きる。\n" "完了した I/O 操作の返り値は B(3) で取得できる。\n" "Iaio_sigevent> を適切に設定することで、\n" "I/O 完了の非同期通知は受けることもできる。詳細は B(7) を参照。" #. type: Plain text #: build/C/man3/aio_read.3:82 build/C/man3/aio_write.3:89 msgid "" "If B<_POSIX_PRIORITIZED_IO> is defined, and this file supports it, then the " "asynchronous operation is submitted at a priority equal to that of the " "calling process minus Iaio_reqprio>." msgstr "" "B<_POSIX_PRIORITIZED_IO> が定義されていて、 かつファイルがこれをサポートして" "いる場合、 非同期操作は呼び出したプロセスの優先度から Iaio_reqprio> を引いた優先度で登録 (submit) される。" #. type: Plain text #: build/C/man3/aio_read.3:86 build/C/man3/aio_write.3:93 msgid "The field Iaio_lio_opcode> is ignored." msgstr "フィールド Iaio_lio_opcode> は無視される。" #. type: Plain text #: build/C/man3/aio_read.3:88 msgid "No data is read from a regular file beyond its maximum offset." msgstr "" "最大オフセットを超えた通常のファイルからは、何もデータが読み込まれない。" #. type: Plain text #: build/C/man3/aio_read.3:103 build/C/man3/aio_write.3:110 msgid "" "On success, 0 is returned. On error, the request is not enqueued, -1 is " "returned, and I is set appropriately. If an error is detected only " "later, it will be reported via B(3) (returns status -1) and " "B(3) (error status\\(emwhatever one would have gotten in " "I, such as B)." msgstr "" "成功した場合、0 が返される。 エラーの場合、リクエストはキューに入れられず、\n" "-1 が返されて、 I が適切に設定される。 エラーは後でのみ検知された場合" "は、\n" "エラーは B(3) と B(3) 経由で報告されることになる\n" "(B(3) は状態 -1 を返し、B(3) でエラー状態\\(em\n" "I で取得できる B のようなエラー状態が返される)。" #. type: Plain text #: build/C/man3/aio_read.3:111 msgid "I is not a valid file descriptor open for reading." msgstr "" "I は読み込みのためにオープンされた有効なファイルディスクリプタで" "ない。" #. type: Plain text #: build/C/man3/aio_read.3:119 msgid "" "One or more of I, I, or I are invalid." msgstr "" "I, I, I のうち 1 つ以上が無効である。" #. type: Plain text #: build/C/man3/aio_read.3:123 msgid "B() is not implemented." msgstr "B() は実装されていない。" #. type: TP #: build/C/man3/aio_read.3:123 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/aio_read.3:128 msgid "" "The file is a regular file, we start reading before end-of-file and want at " "least one byte, but the starting position is past the maximum offset for " "this file." msgstr "" "ファイルが通常のファイルであり、 ファイルの終端の前から読み込みを開始して、 " "少なくとも 1 バイトを読み込もうとした。 しかし開始位置がこのファイルの最大オ" "フセットを超えていた。" #. type: Plain text #: build/C/man3/aio_read.3:132 msgid "The B() function is available since glibc 2.1." msgstr "The B() 関数は glibc 2.1 以降で利用できる。" #. or the control block of the operation #. type: Plain text #: build/C/man3/aio_read.3:142 msgid "" "It is a good idea to zero out the control block before use. The control " "block must not be changed while the read operation is in progress. The " "buffer area being read into must not be accessed during the operation or " "undefined results may occur. The memory areas involved must remain valid." msgstr "" "使用する前に制御ブロックを 0 にしておくのは、よい考えである。 この制御ブロッ" "クは、読み込み操作が進行している間は変更すべきでない。 読み込まれるバッファ領" "域は 操作の最中にアクセスすべきではない。 さもないと起こる結果が不定になる。 " "これに含まれるメモリ領域は、有効なままにしなければならない。" #. type: Plain text #: build/C/man3/aio_read.3:146 build/C/man3/aio_write.3:151 #: build/C/man3/lio_listio.3:219 msgid "" "Simultaneous I/O operations specifying the same I structure produce " "undefined results." msgstr "" "同じ I 構造体を指定して同時に複数の I/O 操作を行った場合、\n" "どのような結果になるかは不定である。" #. type: Plain text #: build/C/man3/aio_read.3:158 msgid "" "B(3), B(3), B(3), B(3), " "B(3), B(3), B(3), B(7)" msgstr "" "B(3), B(3), B(3), B(3), " "B(3), B(3), B(3), B(7)" #. type: TH #: build/C/man3/aio_return.3:24 #, no-wrap msgid "AIO_RETURN" msgstr "AIO_RETURN" #. type: Plain text #: build/C/man3/aio_return.3:27 msgid "aio_return - get return status of asynchronous I/O operation" msgstr "aio_return - 非同期 I/O 操作の返り値 (return status) を取得する" #. type: Plain text #: build/C/man3/aio_return.3:31 msgid "BIB<);>" msgstr "BIB<);>" #. type: Plain text #: build/C/man3/aio_return.3:44 msgid "" "The B() function returns the final return status for the " "asynchronous I/O request with control block pointed to by I. (See " "B(7) for a description of the I structure.)" msgstr "" "B() 関数は I で指された制御ブロックにおける非同期 I/O\n" "リクエストの最終的な返り値を返す。\n" "(I 構造体の説明は B(7) を参照)" #. type: Plain text #: build/C/man3/aio_return.3:49 msgid "" "This function should be called only once for any given request, after " "B(3) returns something other than B." msgstr "" "この関数は、 B(3) が B 以外を返した後で、 与えられた" "リクエストに対して 1 回だけ呼ばれるべきである。" #. type: Plain text #: build/C/man3/aio_return.3:58 msgid "" "If the asynchronous I/O operation has completed, this function returns the " "value that would have been returned in case of a synchronous B(2), " "B(2), B(2) or B(2), call." msgstr "" "非同期 I/O 操作が完了した場合、この関数は、同期呼び出し B(2),\n" "B(2), B(2), B(2) が返すのと同じ値を返す。" #. type: Plain text #: build/C/man3/aio_return.3:63 msgid "" "If the asynchronous I/O operation has not yet completed, the return value " "and effect of B() are undefined." msgstr "" "非同期 I/O 操作が完了していない場合、\n" "B() の返り値とその影響は不定である。" #. type: Plain text #: build/C/man3/aio_return.3:69 msgid "" "I does not point at a control block for an asynchronous I/O request " "of which the return status has not been retrieved yet." msgstr "" "I が、返り値がまだ取得されていない非同期 I/O リクエストの 制御ブロッ" "クを指していない。" #. type: Plain text #: build/C/man3/aio_return.3:73 msgid "B() is not implemented." msgstr "B() は実装されていない。" #. type: Plain text #: build/C/man3/aio_return.3:77 msgid "The B() function is available since glibc 2.1." msgstr "The B() 関数は glibc 2.1 以降で利用できる。" #. type: Plain text #: build/C/man3/aio_return.3:82 msgid "The B() function is thread-safe." msgstr "The B() 関数はスレッドセーフである。" #. type: Plain text #: build/C/man3/aio_return.3:96 msgid "" "B(3), B(3), B(3), B(3), " "B(3), B(3), B(3), B(7)" msgstr "" "B(3), B(3), B(3), B(3), " "B(3), B(3), B(3), B(7)" #. type: TH #: build/C/man3/aio_suspend.3:25 #, no-wrap msgid "AIO_SUSPEND" msgstr "AIO_SUSPEND" #. type: Plain text #: build/C/man3/aio_suspend.3:28 msgid "aio_suspend - wait for asynchronous I/O operation or timeout" msgstr "aio_suspend - 非同期 I/O 操作またはタイムアウトを待つ" #. type: Plain text #: build/C/man3/aio_suspend.3:32 build/C/man3/lio_listio.3:30 #, no-wrap msgid "B<#include Eaio.hE>\n" msgstr "B<#include Eaio.hE>\n" #. type: Plain text #: build/C/man3/aio_suspend.3:34 #, no-wrap msgid "BIB<[],>\n" msgstr "BIB<[],>\n" #. type: Plain text #: build/C/man3/aio_suspend.3:36 #, no-wrap msgid "B< int >IB<, const struct timespec *>IB<);>\n" msgstr "B< int >IB<, const struct timespec *>IB<);>\n" #. type: Plain text #: build/C/man3/aio_suspend.3:38 build/C/man3/lio_listio.3:35 #, no-wrap msgid "Link with I<-lrt>.\n" msgstr "I<-lrt> でリンクする。\n" #. type: Plain text #: build/C/man3/aio_suspend.3:43 msgid "" "The B() function suspends the calling thread until one of the " "following occurs:" msgstr "" "B() 関数は、以下のいずれかが発生するまで\n" "呼び出したスレッドの実行を停止 (suspend) する。" #. type: Plain text #: build/C/man3/aio_suspend.3:47 msgid "" "One or more of the asynchronous I/O requests in the list I has " "completed." msgstr "" "I リスト内の非同期 I/O リクエストのうち、少なくとも一つが完了し" "た。" #. type: Plain text #: build/C/man3/aio_suspend.3:49 msgid "A signal is delivered." msgstr "シグナルが配送された。" #. type: Plain text #: build/C/man3/aio_suspend.3:56 msgid "" "I is not NULL and the specified time interval has passed. (For " "details of the I structure, see B(2).)" msgstr "" "I が NULL でない場合に、指定した時間が経過した\n" "(I 構造体の詳細は B(2) を参照)。" #. type: Plain text #: build/C/man3/aio_suspend.3:74 msgid "" "The I argument specifies the number of items in I. Each " "item in the list pointed to by I must be either NULL (and then " "is ignored), or a pointer to a control block on which I/O was initiated " "using B(3), B(3), or B(3). (See B(7) " "for a description of the I structure.)" msgstr "" "I 引き数は I の要素数を指定する。\n" "I が指すリストの各要素は、NULL (これは無視される) か、\n" "B(3), B(3), B(3) を使って I/O が開始された\n" "制御ブロックへのポインタでなければならない。\n" "(I 構造体の説明は B(7) を参照)" #. type: Plain text #: build/C/man3/aio_suspend.3:80 msgid "" "If B is supported, this clock is used to measure the " "timeout interval (see B(3))." msgstr "" "B がサポートされる場合、 このクロックを使ってタイムアウト" "の\n" "間隔が計測される (B(3) を参照)。" #. type: Plain text #: build/C/man3/aio_suspend.3:88 msgid "" "If this function returns after completion of one of the I/O requests " "specified in I, 0 is returned. Otherwise, -1 is returned, and " "I is set to indicate the error." msgstr "" "I で指定された I/O リクエストの 1 つが完了した後に\n" "この関数が返った場合は、0 が返される。\n" "それ以外の場合は、 -1 が返り、 I にエラーを示す値に設定される。" #. type: Plain text #: build/C/man3/aio_suspend.3:93 msgid "" "The call timed out before any of the indicated operations had completed." msgstr "指示された操作のどれも完了しないうちに、呼び出しがタイムアウトした。" #. type: TP #: build/C/man3/aio_suspend.3:93 build/C/man2/io_getevents.2:49 #: build/C/man3/lio_listio.3:169 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/aio_suspend.3:99 msgid "" "The call was ended by signal (possibly the completion signal of one of the " "operations we were waiting for); see B(7)." msgstr "" "この呼び出しがシグナルによって終了させられた (このシグナルは、完了を待ってい" "た\n" "操作のいずれかの完了シグナルの可能性もある)。B(7) 参照。" #. type: Plain text #: build/C/man3/aio_suspend.3:103 msgid "B() is not implemented." msgstr "B() は実装されていない。" #. type: Plain text #: build/C/man3/aio_suspend.3:107 msgid "The B() function is available since glibc 2.1." msgstr "The B() 関数は glibc 2.1 以降で利用できる。" #. type: Plain text #: build/C/man3/aio_suspend.3:113 msgid "" "One can achieve polling by using a non-NULL I that specifies a zero " "time interval." msgstr "" "時間間隔が 0 であることを指定する NULL ではない I を使って、ポーリン" "グを行うこともできる。" #. type: Plain text #: build/C/man3/aio_suspend.3:119 msgid "" "If one or more of the asynchronous I/O operations specified in I " "has already completed at the time of the call to B(), then the " "call returns immediately." msgstr "" "I リストで指定した非同期 I/O 操作のうち、\n" "B() を呼び出した時点ですでに完了したものがある場合、\n" "B() はすぐに返る。" #. type: Plain text #: build/C/man3/aio_suspend.3:129 msgid "" "To determine which I/O operations have completed after a successful return " "from B(), use B(3) to scan the list of I " "structures pointed to by I." msgstr "" "B() が成功で返った後でどの I/O 操作が完了したかを特定するに" "は、\n" "B(3) を使って I が指す I 構造体のリストを\n" "スキャンする。" #. type: Plain text #: build/C/man3/aio_suspend.3:139 msgid "" "B(3), B(3), B(3), B(3), " "B(3), B(3), B(3), B(7), B