.PP
.\" libc4 and libc5 define
.\" .IR SignalHandler ;
-\fIsighandler_t\fP の使用は GNU 拡張であり、 \fB_GNU_SOURCE\fP が定義された
-場合に公開される。glibc では \fB_BSD_SOURCE\fP が定義された場合には (BSD
-由来の) \fIsig_t\fP も定義される。このような型を使用しないと、
+\fIsighandler_t\fP の使用は GNU 拡張であり、 \fB_GNU_SOURCE\fP が定義された場合に公開される。glibc では
+\fB_BSD_SOURCE\fP が定義された場合には (BSD 由来の) \fIsig_t\fP も定義される。このような型を使用しないと、
\fBsignal\fP() の宣言は読みにくいものとなる。
.in +4n
.nf
sa.sa_flags = SA_RESETHAND | SA_NODEFER;
-System V でも、 \fBsignal\fP() に対してこれらの挙動を規定している。 こうした挙動はまずく、ハンドラがハンドラ自身を再設定する機会が
-来るより前に、同じシグナルがまた配送される可能性がある。 さらに、同じシグナルが立て続けに配送されると、同じシグナルが
-ハンドラを繰り返し起動されることになる。
+System\ V でも、 \fBsignal\fP() に対してこれらの挙動を規定している。
+こうした挙動はまずく、ハンドラがハンドラ自身を再設定する機会が 来るより前に、同じシグナルがまた配送される可能性がある。
+ã\81\95ã\82\89ã\81«ã\80\81å\90\8cã\81\98ã\82·ã\82°ã\83\8aã\83«ã\81\8cç«\8bã\81¦ç¶\9aã\81\91ã\81«é\85\8dé\80\81ã\81\95ã\82\8cã\82\8bã\81¨ã\80\81å\90\8cã\81\98ã\82·ã\82°ã\83\8aã\83«ã\81\8c ã\83\8fã\83³ã\83\89ã\83©ã\82\92ç¹°ã\82\8aè¿\94ã\81\97èµ·å\8b\95ã\81\95ã\82\8cã\82\8bã\81\93ã\81¨ã\81«ã\81ªã\82\8bã\80\82
BSD はこの状況が改善したが、残念なことに、その過程で既存の \fBsignal\fP() の挙動も変更された。 BSD
では、シグナルハンドラが起動された際、 シグナルの処理方法はリセットされず、 ハンドラの実行中は、同じシグナルのさらなる生成は配送がブロックされる。
Linux での状況は以下の通りである。
.IP * 2
-カーネルの \fBsignal\fP() システムコールは System V 方式を提供している。
+カーネルの \fBsignal\fP() システムコールは System\ V 方式を提供している。
.IP *
デフォルトでは、glibc 2 以降では、 \fBsignal\fP() ラッパー関数はカーネルのシステムコールを起動しない。 代わりに、ラッパー関数は
BSD 方式を示すフラグを使って \fBsigaction\fP(2) を呼び出す。 機能検査マクロ \fB_BSD_SOURCE\fP
.\" System V semantics are also provided if one uses the separate
.\" .BR sysv_signal (3)
.\" function.
-glibc 2 以降では、機能検査マクロ \fB_BSD_SOURCE\fP が定義されていなければ、 \fBsignal\fP() は System V
+glibc 2 以降では、機能検査マクロ \fB_BSD_SOURCE\fP が定義されていなければ、 \fBsignal\fP() は System\ V
方式となる。 (\fBgcc\fP(1) が標準指定モード (\fI\-std=xxx\fP or \fI\-ansi\fP) で起動された場合、もしくは
\fB_POSIX_SOURCE\fP, \fB_XOPEN_SOURCE\fP, \fB_SVID_SOURCE\fP
といった他の様々な機能検査マクロが定義された場合、 デフォルトの \fB_BSD_SOURCE\fP の暗黙の定義は行われない。
\fBfeature_test_macros\fP(7) を参照のこと。)
.IP *
-Linux の libc4 と libc5 の \fBsignal\fP() 関数は System V 方式である。 libc5 システムにおいて
+Linux の libc4 と libc5 の \fBsignal\fP() 関数は System\ V 方式である。 libc5 システムにおいて
\fI<signal.h>\fP のかわりに \fI<bsd/signal.h>\fP をインクルードすると、
\fBsignal\fP() は \fB__bsd_signal\fP() に再定義され、 \fBsignal\fP() は BSD 方式となる。
.SH 関連項目
\fBsigqueue\fP(3), \fBsigsetops\fP(3), \fBsigvec\fP(3), \fBsysv_signal\fP(3),
\fBsignal\fP(7)
.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.53 の一部
-である。プロジェクトの説明とバグ報告に関する情報は
-http://www.kernel.org/doc/man\-pages/ に書かれている。
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.67 の一部である。
+プロジェクトの説明とバグ報告に関する情報は \%http://www.kernel.org/doc/man\-pages/ に書かれている。