OSDN Git Service

(split) LDP: Update draft and release pages (based on the previous commit)
[linuxjm/LDP_man-pages.git] / release / man2 / sigaction.2
index 4ba3a6a..4e84e87 100644 (file)
@@ -101,13 +101,13 @@ struct sigaction {
 そのシグナルを無視する \fBSIG_IGN\fP、 シグナルハンドラ関数へのポインタが設定できる。
 シグナルハンドラ関数の引き数は一つであり、シグナル番号が引き数として 渡される。
 .PP
-If \fBSA_SIGINFO\fP is specified in \fIsa_flags\fP, then \fIsa_sigaction\fP (instead
-of \fIsa_handler\fP)  specifies the signal\-handling function for \fIsignum\fP.
-This function receives the signal number as its first argument, a pointer to
-a \fIsiginfo_t\fP as its second argument and a pointer to a \fIucontext_t\fP (cast
-to \fIvoid\ *\fP) as its third argument.  (Commonly, the handler function
-doesn't make any use of the third argument.  See \fBgetcontext\fP(3)  for
-further information about \fIucontext_t\fP.)
+\fIsa_flags\fP に \fBSA_SIGINFO\fP が指定された場合、 (\fIsa_handler\fP ではなく)
+\fIsa_sigaction\fP により \fIsignum\fP に対応するシグナルハンドラ関数が指定さ
+れる。指定される関数は、最初の引き数としてシグナル番号を、二番目の引き
+数として \fIsiginfo_t\fP へのポインタを、三番目の引き数として (\fIvoid\ *\fP
+にキャストした) \fIucontext_t\fP へのポインタを受けとる。 (一般的には、
+ハンドラ関数の三番目の引き数が使用されない。\fIucontext_t\fP についての
+詳しい情報は \fBgetcontext\fP(3) を参照。)
 .PP
 \fIsa_mask\fP は、シグナル・ハンドラ実行中に禁止 (block) すべきシグナルのマスクを指定する
 (ハンドラ実行中のシグナルの禁止は、シグナル・ハンドラが起動されたスレッド のシグナルのマスクに追加することで行われる)。 さらに、
@@ -141,9 +141,8 @@ further information about \fIucontext_t\fP.)
 別のシグナル・スタックが利用可能でなければ、デフォルトのスタックが 使用される。 このフラグはシグナルハンドラを設定する際にのみ意味を持つ。
 .TP 
 \fBSA_RESETHAND\fP
-Restore the signal action to the default upon entry to the signal handler.
-This flag is only meaningful when establishing a signal handler.
-\fBSA_ONESHOT\fP is an obsolete, nonstandard synonym for this flag.
+シグナルハンドラを設定する際に、シグナルの動作をデフォルトに戻す。 このフラグはシグナルハンドラを設定する際にのみ意味を持つ。
+\fBSA_ONESHOT\fP はこのフラグと同じ意味だが、廃止されており、非標準である。
 .TP 
 \fBSA_RESTART\fP
 いくつかのシステムコールをシグナルの通知の前後で再開できるようにして、 BSD シグナル方式 (semantics) と互換性のある動作を提供する。
@@ -153,9 +152,8 @@ This flag is only meaningful when establishing a signal handler.
 .\" (The
 .\" .I sa_sigaction
 .\" field was added in Linux 2.1.86.)
-The signal handler takes three arguments, not one.  In this case,
-\fIsa_sigaction\fP should be set instead of \fIsa_handler\fP.  This flag is only
-meaningful when establishing a signal handler.
+シグナルハンドラは一つではなく、三つの引き数を持つ。この場合は \fIsa_handler\fP のかわりに \fIsa_sigaction\fP
+を設定しなければならない このフラグはシグナルハンドラを設定する際にのみ意味を持つ。
 .RE
 .PP
 \fIsa_sigaction\fP のパラメータ \fIsiginfo_t\fP は以下の要素を持つ構造体である:
@@ -493,10 +491,9 @@ POSIX.1\-2001 では \fBSA_NOCLDWAIT\fP, \fBSA_RESETHAND\fP, \fBSA_NODEFER\fP,
 シグナルハンドラ内から安全に呼び出すことができる、 async\-signal\-safe functions (非同期シングルで安全な関数) の
 リストについては \fBsignal\fP(7)  を参照。
 .SS 非公式
-Before the introduction of \fBSA_SIGINFO\fP it was also possible to get some
-additional information, namely by using a \fIsa_handler\fP with second argument
-of type \fIstruct sigcontext\fP.  See the relevant Linux kernel sources for
-details.  This use is obsolete now.
+\fBSA_SIGINFO\fP が導入される前は、 \fIstruct sigcontext\fP 型の二番目の引き数と一緒に \fIsa_handler\fP
+を使用することで、 いくつかの追加の情報を入手することができた。 詳細については Linux カーネルソースの関連部分を見てほしい。
+現在はこの使用法は廃止されている。
 .SH バグ
 2.6.13 以前のカーネルでは、 \fIsa_flags\fP に \fBSA_NODEFER\fP を指定した場合、
 ハンドラが実行中に配送されたシグナル自身がマスクされなくなるだけでなく、 \fIsa_mask\fP に指定されたシグナルもマスクされなくなる。