msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2012-05-28 07:16+0900\n"
-"PO-Revision-Date: 2012-05-31 03:57+0900\n"
+"PO-Revision-Date: 2012-06-04 23:34+0900\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"calls a function that is a I<cancellation point>. A list of functions that "
"are or may be cancellation points is provided in I<pthreads>(7)."
msgstr ""
-"スレッドの cancellation type は B<pthread_setcanceltype>(3) で設定され、\n"
-"I<asynchronous> か I<deferred> のいずれかとなる(I<deferred> が新しいスレッ"
-"ド\n"
-"のデフォルト値である)。\n"
-"非同期キャンセル (asynchronous cancelability) は、そのスレッドはいつでも\n"
-"キャンセルされることを意味する (通常はすぐにキャンセルされるが、システムが\n"
-"そのことを保証しているわけではない)。\n"
-"遅延キャンセル (deferred cancelability) では、そのスレッドが I<cancellation\n"
-"point> となっている関数を次に呼び出すまでキャンセルが遅延される。\n"
-"取り消しポイント (cancellation point) に設定されていたり設定したりできる\n"
-"関数のリストは I<pthreads>(7) に記載している。"
+"スレッドのキャンセル種別 (cancelability type) は\n"
+"B<pthread_setcanceltype>(3) で設定され、I<asynchronous> か I<deferred>\n"
+"のいずれかとなる(I<deferred> が新しいスレッドのデフォルト値である)。\n"
+"非同期キャンセル (asynchronous cancelability) は、そのスレッドはいつで\n"
+"もキャンセルされることを意味する (通常はすぐにキャンセルされるが、\n"
+"システムがそのことを保証しているわけではない)。遅延キャンセル\n"
+"(deferred cancelability) では、そのスレッドが I<取り消しポイント\n"
+"(cancellation point)> となっている関数を次に呼び出すまでキャンセルが\n"
+"遅延される。取り消しポイントに設定されていたり設定\n"
+"したりできる関数のリストは I<pthreads>(7) に記載している。"
#. type: Plain text
#: build/C/man3/pthread_cancel.3:76
"described below); it might, for example, unlock a mutex so that it becomes "
"available to other threads in the process."
msgstr ""
+"これらの関数は、呼び出したスレッドのスレッドキャンセル時のクリーンアッ\n"
+"プハンドラのスタックの操作を行う。クリーンアップハンドラは、スレッドが\n"
+"キャンセルされた場合 (や以下で説明する他の種々の状況において) 自動的に\n"
+"実行される関数である。例えば、mutex のロック解除を行い、プロセス内の\n"
+"他のスレッドが利用できるようにする関数などが考えられる。"
#. type: Plain text
#: build/C/man3/pthread_cleanup_push.3:57
"the stack of clean-up handlers. When I<routine> is later invoked, it will "
"be given I<arg> as its argument."
msgstr ""
+"B<pthread_cleanup_push>() 関数は、 I<routine> をクリーンアップ\n"
+"ハンドラのスタックの一番上にプッシュする。 I<routine> が後で\n"
+"起動される際には、 I<arg> が関数の引き数と渡される。"
#. type: Plain text
#: build/C/man3/pthread_cleanup_push.3:64
"stack of clean-up handlers, and optionally executes it if I<execute> is "
"nonzero."
msgstr ""
+"B<pthread_cleanup_pop>() 関数は、クリーンアップハンドラの\n"
+"スタックの一番上のルーチンを削除する。\n"
+"I<execute> が 0 以外の場合にはそのルーチンを追加で実行する。"
#. type: Plain text
#: build/C/man3/pthread_cleanup_push.3:67
"A cancellation clean-up handler is popped from the stack and executed in the "
"following circumstances:"
msgstr ""
+"キャンセルクリーンアップハンドラは、以下に示す場合に\n"
+"スタックから取り出され実行される。"
#. type: Plain text
#: build/C/man3/pthread_cleanup_push.3:71
"and executed in the reverse of the order in which they were pushed onto the "
"stack."
msgstr ""
+"スレッドがキャンセルされた際に、スタックに登録された全てのクリーン\n"
+"アップハンドラが取り出されて、実行される。クリーンアップハンドラの\n"
+"実行は、スタックに登録されたのと逆の順序で行われる。"
#. type: Plain text
#: build/C/man3/pthread_cleanup_push.3:79
"handlers are I<not> called if the thread terminates by performing a "
"I<return> from the thread start function.)"
msgstr ""
+"スレッドが B<pthread_exit>(3) を呼び出して終了する際に、全てのクリーン\n"
+"アップハンドラが上の項目で述べたのと同様に実行される。\n"
+"(スレッドがスレッド開始関数からの I<return> の実行により終了する場合に\n"
+"は、クリーンアップハンドラはI<呼び出されない>。)"
#. type: Plain text
#: build/C/man3/pthread_cleanup_push.3:85
"When a thread calls B<pthread_cleanup_pop>() with a nonzero I<execute> "
"argument, the top-most clean-up handler is popped and executed."
msgstr ""
+"スレッドが 0 以外の I<execute> 引き数で B<pthread_cleanup_pop>() を\n"
+"呼び出した際に、スタックの一番上のクリーンアップハンドラが取り出されて\n"
+"実行される。"
#. type: Plain text
#: build/C/man3/pthread_cleanup_push.3:97
"same lexical nesting level. (In other words, a clean-up handler is only "
"established during the execution of a specified section of code.)"
msgstr ""
+"POSIX.1 では、 B<pthread_cleanup_push>() と B<pthread_cleanup_pop>() を\n"
+"それぞれ \\(aqB<{>\\(aq と \\(aqB<}>\\(aq を含むテキストに展開するマクロと\n"
+"して実装することを許容している。\n"
+"このため、呼び出し側では、これらの関数の呼び出しが同じ関数の中で対と\n"
+"なり、かつ文法的に同じネストレベル (nesting level) になることを保証\n"
+"しなければならない。 (言い換えると、クリーンアップハンドラは、コード\n"
+"の特定のセクションの実行の中でのみ設定するものであると言える。)"
#. type: Plain text
#: build/C/man3/pthread_cleanup_push.3:117
"results unless the jump buffer was also filled by B<setjmp>(3) (B<sigsetjmp>"
"(3)) inside the handler."
msgstr ""
+"B<longjmp>(3) (B<siglongjmp>(3)) の呼び出しは、\n"
+"B<pthread_cleanup_push>() や B<pthread_cleanup_pop>() の呼び出しが対と\n"
+"なる呼び出しがない状態で行われた場合には、どのような結果になるかは不定\n"
+"である。これは jump バッファは B<setjmp>(3) (B<sigsetjmp>(3)) により設\n"
+"定されるからである。同様に、クリーンアップハンドラ内からの\n"
+"B<longjmp>(3) (B<siglongjmp>(3)) の呼び出しも、jump バッファがハンドラ\n"
+"内で B<setjmp>(3) (B<sigsetjmp>(3)) で設定されていない限り、どのような\n"
+"結果になるかは不定である。"
#. type: Plain text
#: build/C/man3/pthread_cleanup_push.3:119
"declared within the scope of paired calls to these functions will only be "
"visible within that scope."
msgstr ""
+"Linux では、関数 B<pthread_cleanup_push>() と B<pthread_cleanup_pop>()\n"
+"は、それぞれ \\(aqB<{>\\(aq と \\(aqB<}>\\(aq を含むテキストに展開する\n"
+"マクロとして実装されている。このことは、これらの関数を対で呼び出した\n"
+"スコープ内で宣言された変数は、そのスコープの中でしか参照できない\n"
+"ということを意味している。"
#. The text was actually added in the 2004 TC2
#. type: Plain text
"and B<pthread_cleanup_pop>() is undefined. Portable applications should "
"avoid doing this."
msgstr ""
+"POSIX.1 には、括弧を含む B<pthread_cleanup_push>() と\n"
+"B<pthread_cleanup_pop>() のブロックをそのままにしたままで、 \n"
+"I<return>, I<break>, I<continue>, I<goto> を使った場合の影響は\n"
+"不定であると書かれている。\n"
+"移植性が必要なアプリケーションではこれを行うのは避けるべきである。"
#. type: Plain text
#: build/C/man3/pthread_cleanup_push.3:164
"thread a cancellation request, or sets a global variable that causes the "
"other thread to exit its loop and terminate normally (by doing a I<return>)."
msgstr ""
+"以下のプログラムは、このページで説明した関数の簡単な使用例を示すもので\n"
+"ある。このプログラムは B<pthread_cleanup_push>() と\n"
+"B<pthread_cleanup_pop>() で囲まれたループを実行するスレッドを作成する。\n"
+"このループではグローバル変数 I<cnt> を 1 秒に 1 ずつ増やしていく。\n"
+"指定されたコマンドライン引き数の内容に基づいて、メインスレッドはもう一\n"
+"つのスレッドにキャンセル要求を送ったり、もう一つのスレッドがループを\n"
+"抜けて (I<return> を呼び出して) 正常終了するようにグローバル変数を\n"
+"設定したりする。"
#. type: Plain text
#: build/C/man3/pthread_cleanup_push.3:167
"In the following shell session, the main thread sends a cancellation request "
"to the other thread:"
msgstr ""
+"以下のシェルセッションでは、メインスレッドはもう一つのスレッドに\n"
+"キャンセル要求を送信する。"
#. type: Plain text
#: build/C/man3/pthread_cleanup_push.3:177
"cancellation clean-up handler was called and it reset the value of the "
"global variable I<cnt> to 0."
msgstr ""
+"上記の実行例から、スレッドがキャンセルされ、\n"
+"キャンセルクリーンアップハンドラが呼び出され、\n"
+"グローバル変数 I<cnt> の値が 0 にリセットされていることが確認できる。"
#. type: Plain text
#: build/C/man3/pthread_cleanup_push.3:188
"In the next run, the main program sets a global variable that causes other "
"thread to terminate normally:"
msgstr ""
+"次の実行例では、メインプログラムはグローバル変数を設定して、\n"
+"もう一つのスレッドが正常終了するようにしている。"
#. type: Plain text
#: build/C/man3/pthread_cleanup_push.3:196
"From the above, we see that the clean-up handler was not executed (because "
"I<cleanup_pop_arg> was 0), and therefore the value of I<cnt> was not reset."
msgstr ""
+"上記では、 (I<cleanup_pop_arg> が 0 なので) クリーンアップハンドラは\n"
+"実行されておらず、その結果 I<cnt> の値はリセットされていないことが\n"
+"分かる。"
#. type: Plain text
#: build/C/man3/pthread_cleanup_push.3:209
"other thread to terminate normally, and supplies a nonzero value for "
"I<cleanup_pop_arg>:"
msgstr ""
+"次の実行例では、メインプログラムはグローバル変数を設定して、\n"
+"もう一つのスレッドが正常終了するようにし、さらに\n"
+"I<cleanup_pop_arg> に 0 以外の値を渡している。"
#. type: Plain text
#: build/C/man3/pthread_cleanup_push.3:218
"handler was executed, because the argument given to B<pthread_cleanup_pop>"
"() was nonzero."
msgstr ""
+"上記では、スレッドはキャンセルされていないが、クリーンアップハンドラが\n"
+"実行されていないことが分かる。これは B<pthread_cleanup_pop>() の引き数\n"
+"に 0 以外を渡したからである。"
#. type: Plain text
#: build/C/man3/pthread_cleanup_push.3:234
"pthread_cleanup_push_defer_np, pthread_cleanup_pop_restore_np - push and pop "
"thread cancellation clean-up handlers while saving cancelability type"
msgstr ""
+"pthread_cleanup_push_defer_np, pthread_cleanup_pop_restore_np - "
+"cancelability type を保持したままでスレッドのキャンセルクリーンアップハンドラ"
+"の push/pop を行う"
#. type: Plain text
#: build/C/man3/pthread_cleanup_push_defer_np.3:35
"These functions are the same as B<pthread_cleanup_push>(3) and "
"B<pthread_cleanup_pop>(3), except for the differences noted on this page."
msgstr ""
+"これらの関数は B<pthread_cleanup_push>(3) と B<pthread_cleanup_pop>(3) と同じ"
+"だが、このページで説明する点が異なる。"
#. type: Plain text
#: build/C/man3/pthread_cleanup_push_defer_np.3:57
"this ensures that cancellation clean-up will occur even if the thread's "
"cancelability type was \"asynchronous\" before the call."
msgstr ""
+"B<pthread_cleanup_push>(3) と同様に、\n"
+"B<pthread_cleanup_push_defer_np>() は I<routine> をそのスレッドの\n"
+"クリーンアップハンドラのスタックに追加する。これに加えて、\n"
+"B<pthread_cleanup_push_defer_np>() は現在の cancelability type も\n"
+"保存し、cancelability type は \"deferred\" に設定する\n"
+"(B<pthread_setcanceltype>(3) 参照)。\n"
+"これにより、この関数が呼び出される前のスレッドの cancelability type が\n"
+"\"asynchronous\" であったとしても、キャンセルクリーンアップが行われること\n"
+"が保証される。"
#. type: Plain text
#: build/C/man3/pthread_cleanup_push_defer_np.3:66
"up handlers. In addition, it restores the thread's cancelability type to "
"its value at the time of the matching B<pthread_cleanup_push_defer_np>()."
msgstr ""
+"B<pthread_cleanup_pop>(3) と同様に、\n"
+"B<pthread_cleanup_pop_restore_np>() はそのスレッドのキャンセル\n"
+"クリーンアップハンドラのスタックから一番上にあるクリーンアップハンドラ\n"
+"を取り出す。これに加えて、そのスレッドの cancelability type を、対応\n"
+"する B<pthread_cleanup_push_defer_np>() が呼ばれた時点の値に戻す。"
#. type: Plain text
#: build/C/man3/pthread_cleanup_push_defer_np.3:72
"same function, and at the same lexical nesting level. Other restrictions "
"apply, as described in B<pthread_cleanup_push>(3)."
msgstr ""
+"呼び出し側では、これらの関数の呼び出しが同じ関数の中で対となり、かつ\n"
+"文法的に同じネストレベル (nesting level) になることを保証しなければ\n"
+"ならない。 B<pthread_cleanup_push>(3) で説明されている他の制限も\n"
+"適用される。"
#. type: Plain text
#: build/C/man3/pthread_cleanup_push_defer_np.3:74
msgid "This sequence of calls:"
-msgstr ""
+msgstr "以下の一連の呼び出し"
#. type: Plain text
#: build/C/man3/pthread_cleanup_push_defer_np.3:79
"pthread_cleanup_push_defer_np(routine, arg);\n"
"pthread_cleanup_pop_restore_np(execute);\n"
msgstr ""
+"pthread_cleanup_push_defer_np(routine, arg);\n"
+"pthread_cleanup_pop_restore_np(execute);\n"
#. type: Plain text
#: build/C/man3/pthread_cleanup_push_defer_np.3:83
msgid "is equivalent to (but shorter and more efficient than):"
-msgstr ""
+msgstr "と以下は等価である (但し、上の方がより簡潔で効率的である)。"
#. type: Plain text
#: build/C/man3/pthread_cleanup_push_defer_np.3:89
"LinuxThreads スレッド実装においてのみ効果がある。\n"
"LinuxThreads スレッド実装では、この関数を呼び出すと\n"
"アプリケーション内の全てのスレッドがすぐに終了される。\n"
-"終了対象のスレッドの cancellation state と cancellation type は\n"
+"終了対象のスレッドの cancelability state と cancelability type は\n"
"無視され、それらのスレッドのクリーンアップハンドラは呼び出されない。"
#. type: Plain text
"pthread_setcancelstate, pthread_setcanceltype - set cancelability state and "
"type"
msgstr ""
-"pthread_setcancelstate, pthread_setcanceltype - cancelability state と\n"
-"type を設定する"
+"pthread_setcancelstate, pthread_setcanceltype - cancelability state と "
+"cancelability type を設定する"
#. type: Plain text
#: build/C/man3/pthread_setcancelstate.3:34
"I<state> argument must have one of the following values:"
msgstr ""
"B<pthread_setcancelstate>() は、呼び出したスレッドの\n"
-"cancelability state に I<state> で指定された値を設定する。\n"
-"変更前のスレッドの cancelability state は\n"
+"cancelability state に I<state> で指定された\n"
+"å\80¤ã\82\92è¨å®\9aã\81\99ã\82\8bã\80\82å¤\89æ\9b´å\89\8dã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\81® cancelability state ã\81¯\n"
"I<oldstate> が指すバッファで返される。\n"
"I<state> 引き数には以下の値のいずれか一つを指定しなければならない。"
"determines when a cancelable thread will respond to a cancellation request."
msgstr ""
"スレッドは取り消し可能 (cancelable) である。\n"
-"これが全ての新しく作成されるスレッドでのデフォルトの cancelability\n"
-"state である。これには最初のスレッドも含まれる。\n"
+"これが全ての新しく作成されるスレッドでのデフォルトの\n"
+"cancelability state である。これには最初のスレッドも含まれる。\n"
"スレッドの cancelability type により、取り消し可能なスレッドが\n"
"取り消し要求にいつ反応するかが決まる。"
msgstr ""
"そのスレッドが次に取り消しポイント (cancellation point) の関数を\n"
"呼び出すまで取り消し要求が遅延される。これが全ての新しく作成される\n"
-"スレッドでのデフォルトの cancellation type である。\n"
+"スレッドでのデフォルトの cancelability type である。\n"
"これには最初のスレッドも含まれる。"
#. type: TP
msgid ""
"pthread_setconcurrency, pthread_getconcurrency - set/get the concurrency "
"level"
-msgstr "pthread_setconcurrency, pthread_getconcurrency - 並列処理レベルの設定/取得を行う"
+msgstr ""
+"pthread_setconcurrency, pthread_getconcurrency - 並列処理レベルの設定/取得を"
+"行う"
#. type: Plain text
#: build/C/man3/pthread_setconcurrency.3:33