X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=release%2Fman3%2Fsetjmp.3;h=74b790cba85a6631c59857efb53b192f0e8cec72;hb=dba08e2eee1afb613e4e8e9310eb752cb06f45de;hp=4333f18253da1cfa2a6c53176d9e0afd744e2bb6;hpb=971239c77d1ea410d14adbbcc6fe13191bfe4d73;p=linuxjm%2FLDP_man-pages.git diff --git a/release/man3/setjmp.3 b/release/man3/setjmp.3 index 4333f182..74b790cb 100644 --- a/release/man3/setjmp.3 +++ b/release/man3/setjmp.3 @@ -72,17 +72,14 @@ _POSIX_C_SOURCE \fBsetjmp\fP() は C89, C99, POSIX.1\-2001 で規定されている。 \fBsigsetjmp\fP() は POSIX.1\-2001 で規定されている。 .SH 注意 -POSIX does not specify whether \fBsetjmp\fP() will save the signal mask (to be -later restored during \fBlongjmp\fP(3)). In System V it will not. In 4.3BSD -it will, and there is a function \fB_setjmp\fP that will not. On Linux with -glibc versions before 2.19, \fBsetjmp\fP() follows the System V behavior by -default, but the BSD behavior is provided if the \fB_BSD_SOURCE\fP feature test -macro is defined and none of \fB_POSIX_SOURCE\fP, \fB_POSIX_C_SOURCE\fP, -\fB_XOPEN_SOURCE\fP, \fB_XOPEN_SOURCE_EXTENDED\fP, \fB_GNU_SOURCE\fP, or -\fB_SVID_SOURCE\fP is defined. Since glibc 2.19, \fI\fP exposes -only the System V version of \fBsetjmp\fP(). Programs that need the BSD -semantics should replace calls to \fBsetjmp\fP() with calls to \fBsigsetjmp\fP() -with a nonzero \fIsavesigs\fP argument. +POSIX は、 (\fBlongjmp\fP() 中で後で復元できるように) \fBsetjmp\fP() がシグナルマスクを保存すべきかどうかを規定していない。 +System V では保存しない。 4.3BSD では保存する; 4.3BSD にはシグナルコンテキストを保存しない関数 \fB_setjmp\fP もある。 +バージョン 2.19 より前の glibc を使う Linux では、 \fBsetjmp\fP() はデフォルトでは System V の振る舞いに従うが、 +\fB_BSD_SOURCE\fP 機能検査マクロが定義され、 \fB_POSIX_SOURCE\fP, \fB_POSIX_C_SOURCE\fP, +\fB_XOPEN_SOURCE\fP, \fB_XOPEN_SOURCE_EXTENDED\fP, \fB_GNU_SOURCE\fP, \fB_SVID_SOURCE\fP +のいずれも定義されていない時は BSD の振る舞いとなる。 glibc 2.19 以降では、 \fI\fP は +System V 版の \fBsetjmp\fP() のみを公開するようになっている。 BSD の動作を必要とするプログラムでは、 \fBsetjmp\fP() +の呼び出しを、 \fIsavesigs\fP 引き数に 0 以外の値を渡す \fBsigsetjmp\fP() に置き換えるべきである。 移植性のある形でシグナルマスクを保存および復元したいのなら、 \fBsigsetjmp\fP() と \fBsiglongjmp\fP(3) を使うこと。 .P @@ -91,6 +88,6 @@ with a nonzero \fIsavesigs\fP argument. .SH 関連項目 \fBlongjmp\fP(3), \fBsiglongjmp\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.63 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.67 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。