msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2012-05-28 07:16+0900\n"
-"PO-Revision-Date: 2012-05-28 13:00+0900\n"
+"PO-Revision-Date: 2012-05-31 03:57+0900\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"The set-and-get operation performed by each of these functions is atomic "
"with respect to other threads in the process calling the same function."
msgstr ""
+"これらの関数により実行される「設定と取得」操作 (set-and-get operation) は、\n"
+"同じ関数を呼び出したプロセス内の他のスレッドがあっても、\n"
+"アトミックに行われる。"
#. type: Plain text
#: build/C/man3/pthread_setcancelstate.3:97
"block for long periods, since that will render the thread unresponsive to "
"cancellation requests."
msgstr ""
+"取り消し要求により中断されてはならない重要なアクションをスレッドが\n"
+"実行する場合、短い時間だけ cancelability を無効にするのは有用である。\n"
+"長い時間 cancelability を無効にしたり、長い時間停止 (block) される\n"
+"可能性のある操作の前後で cancelability を無効にしたりする際には\n"
+"注意すること。なぜなら、無効にしてしまうと、キャンセル要求に対して\n"
+"スレッドが応答しない状態になってしまうからである。"
#. type: Plain text
#: build/C/man3/pthread_setcancelstate.3:154
"which asynchronous cancelability is useful is for cancellation of a thread "
"that is in a pure compute-bound loop."
msgstr ""
+"cancelability type を B<PTHREAD_CANCEL_ASYNCHRONOUS> に設定して役に立つ\n"
+"ことはめったにない。スレッドはI<いつでも>キャンセルすることができること\n"
+"になるので、スレッドが安全にリソースの確保 (例えば B<malloc>(3) で\n"
+"メモリを割り当てる) や mutex、セマフォ、ロックなどの獲得を行うことがで\n"
+"きない。アプリケーションは、スレッドがキャンセルされる際に、これらのリ\n"
+"ソースがどのような状態にあるかを知る術はないので、リソースの確保が安全\n"
+"ではなくなる。つまり、キャンセルが起こったのが、リソースの確保前なのか、\n"
+"確保中なのか、確保後なのかが分からない。さらに、関数呼び出しの最中に\n"
+"キャンセルが発生すると、いくつかの内部データ構造 (例えば、B<malloc>(3)\n"
+"関連の関数が管理している未使用ブロックのリンクリスト) が一貫性のない\n"
+"状態のままになってしまう可能性がある。その結果、クリーンアップハンドラ\n"
+"が役に立たないものになってしまう。\n"
+"非同期で安全にキャンセルできる関数は I<async-cancel-safe functions> と\n"
+"呼ばれる。 POSIX.1-2001 で、非同期で安全にキャンセルできるように求めら\n"
+"れている関数は B<pthread_cancel>(3), B<pthread_setcancelstate>(),\n"
+"B<pthread_setcanceltype>() だけである。一般的には、それ以外のライブラリ\n"
+"関数は、非同期にキャンセルできるスレッドから安全に呼び出すことはできな\n"
+"い。非同期でのキャンセルが有効な数少ない状況としては、純粋に計算だけを\n"
+"行うループに入っているスレッドをキャンセルするといった場面がある。"
#. It looks like at least Solaris, FreeBSD and Tru64 support this.
#. type: Plain text
"a non-NULL value in I<oldstate>. A precisely analogous set of statements "
"applies for the I<oldtype> argument of B<pthread_setcanceltype>()."
msgstr ""
+"Linux のスレッド実装では、 B<pthread_setcancelstate>() の I<oldstate>\n"
+"引き数に NULL を指定することを認めている。 NULL が指定された場合、\n"
+"変更前の cancelability state の情報が呼び出し側に返されない。\n"
+"他の多くの実装でも I<oldstate> 引き数に NULL を指定することを認めて\n"
+"いるが、 POSIX.1-2001 ではこの点については規定されていない。\n"
+"したがって、移植性が必要なアプリケーションでは常に I<oldstate> に\n"
+"NULL 以外の値を指定するようにすべきである。\n"
+"B<pthread_setcanceltype>() の I<oldtype> 引き数についても、\n"
+"全く同じことが言える。"
#. type: Plain text
#: build/C/man3/pthread_setcancelstate.3:175
msgid ""
"pthread_setconcurrency, pthread_getconcurrency - set/get the concurrency "
"level"
-msgstr ""
+msgstr "pthread_setconcurrency, pthread_getconcurrency - 並列処理レベルの設定/取得を行う"
#. type: Plain text
#: build/C/man3/pthread_setconcurrency.3:33
"of concurrency that should be provided as a result of calling "
"B<pthread_setconcurrency>()."
msgstr ""
+"B<pthread_setconcurrency>() 関数は、アプリケーションが希望する\n"
+"並列処理レベル (concurrency level) をスレッド実装に通知する。\n"
+"希望する並列処理レベルは I<new_level> で指定する。\n"
+"スレッド実装はこの情報を参考情報として利用する。\n"
+"POSIX.1 では、 B<pthread_setconcurrency>() の呼び出した結果、\n"
+"どのような並列度になるべきかは規定されていない。"
#. type: Plain text
#: build/C/man3/pthread_setconcurrency.3:51
"Specifying I<new_level> as 0 instructs the implementation to manage the "
"concurrency level as it deems appropriate."
msgstr ""
+"I<new_level> に 0 を指定すると、スレッド実装は並列処理レベルを\n"
+"実装側で適切とみなしたレベルに設定するようになる。"
#. type: Plain text
#: build/C/man3/pthread_setconcurrency.3:54
"B<pthread_getconcurrency>() returns the current value of the concurrency "
"level for this process."
msgstr ""
+"B<pthread_getconcurrency>() は、このプロセスの concurrency level\n"
+"の現在値を返す。"
#. type: Plain text
#: build/C/man3/pthread_setconcurrency.3:59
"On success, B<pthread_setconcurrency>() returns 0; on error, it returns a "
"nonzero error number."
msgstr ""
+"成功すると、 B<pthread_setconcurrency>() は 0 を返す。\n"
+"エラーの場合、 0 以外のエラー番号を返す。"
#. type: Plain text
#: build/C/man3/pthread_setconcurrency.3:66
"level set by a previous call to B<pthread_setconcurrency>(), or 0, if "
"B<pthread_setconcurrency>() has not previously been called."
msgstr ""
+"B<pthread_getconcurrency>() は常に成功し、最後の\n"
+"B<pthread_getconcurrency>() の呼び出しで設定された \n"
+"concurrency level を返す。 B<pthread_getconcurrency>() が\n"
+"それまでに一度も呼び出されていない場合は 0 が返る。"
#. type: Plain text
#: build/C/man3/pthread_setconcurrency.3:69
#. type: Plain text
#: build/C/man3/pthread_setconcurrency.3:73
msgid "I<new_level> is negative."
-msgstr ""
+msgstr "I<new_level> が負である。"
#. type: Plain text
#: build/C/man3/pthread_setconcurrency.3:79
"POSIX.1-2001 also documents an B<EAGAIN> error (\"the value specified by "
"I<new_level> would cause a system resource to be exceeded\")."
msgstr ""
+"POSIX.1-2001 には、エラー B<EAGAIN> も記載されている\n"
+"(「I<new_level> に指定された値を適用すると、システムリソースが\n"
+"超過してしまう」)。"
#. type: Plain text
#: build/C/man3/pthread_setconcurrency.3:81
#. type: Plain text
#: build/C/man3/pthread_setconcurrency.3:85
msgid "The default concurrency level is 0."
-msgstr ""
+msgstr "デフォルトの concurrency level は 0 である。"
#. type: Plain text
#: build/C/man3/pthread_setconcurrency.3:92
"number of kernel-scheduling entities that should be provided for efficient "
"execution of the application."
msgstr ""
+"並列処理レベルが意味を持つのは M:N スレッド実装の場合のみである。\n"
+"M:N スレッド実装では、ある瞬間において、あるプロセスのユーザレベルスレッ\n"
+"ドの集合のサブ集合が、そのサブ集合のサイズよりも少ない数のカーネルの\n"
+"スケジューリング実体 (kernel-scheduling entity) に結び付けられる。\n"
+"並列処理レベルを設定すると、そのアプリケーションの効率的な実行に必要な\n"
+"カーネルのスケジューリング実体の数のヒントを、アプリケーションはシステ\n"
+"ムに伝えることができる。"
#. type: Plain text
#: build/C/man3/pthread_setconcurrency.3:98
"merely exist for compatibility with other systems, and they have no effect "
"on the execution of a program."
msgstr ""
+"LinuxThreads と NPTL のどちらも 1:1 スレッド実装であり、\n"
+"並列処理レベルを設定しても何の意味もない。\n"
+"言い換えると、 Linux では、これらの関数は、\n"
+"他のシステムとの互換性のためだけに存在し、\n"
+"プログラムの実行には何の影響も与えないということである。"
#. type: Plain text
#: build/C/man3/pthread_setconcurrency.3:101
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2012-05-28 07:17+0900\n"
-"PO-Revision-Date: 2012-05-28 22:26+0900\n"
+"PO-Revision-Date: 2012-05-31 03:04+0900\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
#. type: Plain text
#: build/C/man3/get_nprocs_conf.3:27
msgid "get_nprocs, get_nprocs_conf - get number of processors"
-msgstr ""
+msgstr "get_nprocs, get_nprocs_conf - プロセッサ数を取得する"
#. type: Plain text
#: build/C/man3/get_nprocs_conf.3:29 build/C/man2/sysinfo.2:19
"The function B<get_nprocs_conf>() returns the number of processors "
"configured by the operating system."
msgstr ""
+"B<get_nprocs_conf>() 関数は、オペレーティングシステムで\n"
+"設定されているプロセッサ数を返す。"
#. type: Plain text
#: build/C/man3/get_nprocs_conf.3:44
"B<get_nprocs_conf>() because processors may be offline (e.g., on "
"hotpluggable systems)."
msgstr ""
+"B<get_nprocs>() 関数は、システムで現在利用可能なプロセッサ数を返す。\n"
+"(例えば、ホットプラグが可能なシステムでは)\n"
+"オフラインになっているプロセッサがある場合があるので、\n"
+"この数は B<get_nprocs_conf>() が返す数より小さい場合がある。"
#. type: Plain text
#: build/C/man3/get_nprocs_conf.3:46
"they open and parse files in the I</sys> file system each time they are "
"called."
msgstr ""
+"これらの関数の現在の実装はかなりコストがかかる実装になっている。\n"
+"関数が呼ばれる度に I</sys> ファイルシステム内のファイルをオープンして\n"
+"解析するようになっているからである。"
#. type: Plain text
#: build/C/man3/get_nprocs_conf.3:60
"The following B<sysconf>(3) calls make use of the functions documented on "
"this page to return the same information."
msgstr ""
+"以下の B<sysconf>(3) の呼び出しで、このページに書かれている関数を使った\n"
+"場合に返されるのと同じ情報を得ることができる。"
#. type: Plain text
#: build/C/man3/get_nprocs_conf.3:64
"The following example shows how B<get_nprocs>() and B<get_nprocs_conf>() "
"can be used."
msgstr ""
+"以下の例は、 B<get_nprocs>() と B<get_nprocs_conf>() が\n"
+"どのように利用できるかを示すものである。"
#. type: Plain text
#: build/C/man3/get_nprocs_conf.3:75