OSDN Git Service

長音記号の修正を release に反映
[linuxjm/LDP_man-pages.git] / release / man3 / pthread_setcancelstate.3
index b2b9896..7e88d18 100644 (file)
@@ -33,7 +33,7 @@
 .\"         all rights reserved.
 .\" Translated 2012-05-31, Akihiro MOTOKI <amotoki@gmail.com>
 .\"
-.TH PTHREAD_SETCANCELSTATE 3 2008\-11\-24 Linux "Linux Programmer's Manual"
+.TH PTHREAD_SETCANCELSTATE 3 2014\-05\-13 Linux "Linux Programmer's Manual"
 .SH 名前
 pthread_setcancelstate, pthread_setcanceltype \- cancelability state と
 cancelability type を設定する
@@ -50,7 +50,7 @@ cancelability type を設定する
 \fBpthread_setcancelstate\fP() は、呼び出したスレッドの
 cancelability state に \fIstate\fP で指定された
 値を設定する。変更前のスレッドの cancelability state は
-\fIoldstate\fP が指すバッファで返される。
+\fIoldstate\fP ã\81\8cæ\8c\87ã\81\99ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81§è¿\94ã\81\95ã\82\8cã\82\8bã\80\82
 \fIstate\fP 引き数には以下の値のいずれか一つを指定しなければならない。
 .TP 
 \fBPTHREAD_CANCEL_ENABLE\fP
@@ -67,7 +67,7 @@ cancelability state である。これには最初のスレッドも含まれる
 \fBpthread_setcanceltype\fP() は、呼び出したスレッドの
 cancelability type に \fItype\fP で指定された値を設定する。
 変更前のスレッドの cancelability type は
-\fIoldtype\fP が指すバッファで返される。
+\fIoldtype\fP ã\81\8cæ\8c\87ã\81\99ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81§è¿\94ã\81\95ã\82\8cã\82\8bã\80\82
 \fItype\fP 引き数には以下の値のいずれか一つを指定しなければならない。
 .TP 
 \fBPTHREAD_CANCEL_DEFERRED\fP
@@ -98,6 +98,9 @@ cancelability type に \fItype\fP で指定された値を設定する。
 .\" .SH VERSIONS
 .\" Available since glibc 2.0
 \fItype\fP に無効な値が指定された。
+.SH 属性
+.SS "マルチスレッディング (pthreads(7) 参照)"
+関数 \fBpthread_setcancelstate\fP() と \fBpthread_setcanceltype\fP() はスレッドセーフである。
 .SH 準拠
 POSIX.1\-2001.
 .SH 注意
@@ -110,27 +113,21 @@ POSIX.1\-2001.
 可能性のある操作の前後で cancelability を無効にしたりする際には
 注意すること。なぜなら、無効にしてしまうと、キャンセル要求に対して
 スレッドが応答しない状態になってしまうからである。
+.SS 非同期キャンセル
+cancelability type を \fBPTHREAD_CANCEL_ASYNCHRONOUS\fP
+に設定して役に立つことはめったにない。スレッドは\fIいつでも\fPキャンセルすることができることになるので、スレッドが安全にリソースの確保 (例えば
+\fBmalloc\fP(3) でメモリーを割り当てる) や
+mutex、セマフォ、ロックなどの獲得を行うことができない。アプリケーションは、スレッドがキャンセルされる際に、これらのリソースがどのような状態にあるかを知る術はないので、リソースの確保が安全ではなくなる。つまり、キャンセルが起こったのが、リソースの確保前なのか、確保中なのか、確保後なのかが分からない。さらに、関数呼び出しの最中にキャンセルが発生すると、いくつかの内部データ構造
+(例えば、\fBmalloc\fP(3) 関連の関数が管理している未使用ブロックのリンクリスト)
+が一貫性のない状態のままになってしまう可能性がある。その結果、クリーンアップハンドラーが役に立たないものになってしまう。
 
-cancelability type を \fBPTHREAD_CANCEL_ASYNCHRONOUS\fP に設定して役に立つ
-ことはめったにない。スレッドは\fIいつでも\fPキャンセルすることができること
-になるので、スレッドが安全にリソースの確保 (例えば \fBmalloc\fP(3) で
-メモリを割り当てる) や mutex、セマフォ、ロックなどの獲得を行うことがで
-きない。アプリケーションは、スレッドがキャンセルされる際に、これらのリ
-ソースがどのような状態にあるかを知る術はないので、リソースの確保が安全
-ではなくなる。つまり、キャンセルが起こったのが、リソースの確保前なのか、
-確保中なのか、確保後なのかが分からない。さらに、関数呼び出しの最中に
-キャンセルが発生すると、いくつかの内部データ構造 (例えば、\fBmalloc\fP(3)
-関連の関数が管理している未使用ブロックのリンクリスト) が一貫性のない
-状態のままになってしまう可能性がある。その結果、クリーンアップハンドラ
-が役に立たないものになってしまう。
-非同期で安全にキャンセルできる関数は \fIasync\-cancel\-safe functions\fP と
-呼ばれる。 POSIX.1\-2001 で、非同期で安全にキャンセルできるように求めら
-れている関数は \fBpthread_cancel\fP(3), \fBpthread_setcancelstate\fP(),
-\fBpthread_setcanceltype\fP() だけである。一般的には、それ以外のライブラリ
-関数は、非同期にキャンセルできるスレッドから安全に呼び出すことはできな
-い。非同期でのキャンセルが有効な数少ない状況としては、純粋に計算だけを
-行うループに入っているスレッドをキャンセルするといった場面がある。
+非同期で安全にキャンセルできる関数は \fIasync\-cancel\-safe functions\fP と呼ばれる。 POSIX.1\-2001
+で、非同期で安全にキャンセルできるように求められている関数は \fBpthread_cancel\fP(3),
+\fBpthread_setcancelstate\fP(), \fBpthread_setcanceltype\fP() だけである。
+一般的には、それ以外のライブラリ関数は、非同期にキャンセルできるスレッドから安全に呼び出すことはできない。
 
+非同期でのキャンセルが有効な数少ない状況としては、純粋に計算だけを行うループに入っているスレッドをキャンセルするといった場面がある。
+.SS 移植性に関する注意
 .\" It looks like at least Solaris, FreeBSD and Tru64 support this.
 Linux のスレッド実装では、 \fBpthread_setcancelstate\fP() の \fIoldstate\fP
 引き数に NULL を指定することを認めている。 NULL が指定された場合、
@@ -147,6 +144,6 @@ NULL 以外の値を指定するようにすべきである。
 \fBpthread_cancel\fP(3), \fBpthread_cleanup_push\fP(3), \fBpthread_testcancel\fP(3),
 \fBpthreads\fP(7)
 .SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.64 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.78 の一部
 である。プロジェクトの説明とバグ報告に関する情報は
 http://www.kernel.org/doc/man\-pages/ に書かれている。