\fBvoid abort(void);\fP
.fi
.SH 説明
-\fBabort\fP() 関数は、まず \fBSIGABRT\fP の禁止 (block) を解除してから、 (\fBraise\fP(3)
-が呼び出されたかのように) 呼び出し元のプロセスに \fBSIGABRT\fP シグナルを上げる。その結果、 \fBSIGABRT\fP シグナルが捕捉
-(caught) されて対応するシグナルハンドラーが 返って来ない場合以外は、プログラムの異常終了が起こる (\fBlongjmp\fP(3) 参照)。
+\fBabort\fP() 関数は、まず \fBSIGABRT\fP の禁止 (block) を解除してから、 (\fBraise\fP(3) が呼び出されたかのように)
+呼び出し元のプロセスに \fBSIGABRT\fP シグナルを上げる。その結果、 \fBSIGABRT\fP シグナルが捕捉 (caught)
+されていて、対応するシグナルハンドラーが返って来ない場合 (\fBlongjmp\fP(3) 参照) 以外は、プログラムの異常終了が起こる。
.PP
-\fBSIGABRT\fP ã\82·ã\82°ã\83\8aã\83«ã\81\8cç\84¡è¦\96ã\80\81ã\81¾ã\81\9fã\81¯è¿\94ã\81£ã\81¦æ\9d¥ã\82\8bã\82·ã\82°ã\83\8aã\83«ã\83\8fã\83³ã\83\89ã\83©ã\83¼ã\81§ æ\8d\95æ\8d\89ã\81\95ã\82\8cã\82\8bã\82\88ã\81\86ã\81«ã\81ªã\81£ている場合であっても、 \fBabort\fP()
+\fBSIGABRT\fP ã\82·ã\82°ã\83\8aã\83«ã\81\8cç\84¡è¦\96ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bå ´å\90\88ã\82\84è¿\94ã\81£ã\81¦æ\9d¥ã\82\8bã\82·ã\82°ã\83\8aã\83«ã\83\8fã\83³ã\83\89ã\83©ã\83¼ã\81§æ\8d\95æ\8d\89ã\81\95ã\82\8cている場合であっても、 \fBabort\fP()
関数はそのプロセスを終了する。 \fBSIGABRT\fP シグナルに対する処理方法をデフォルトに戻してから、再度 \fBSIGABRT\fP
シグナルを上げることで、このような動作になる。
.SH 返り値
-\fBabort\fP() 関数が返ることはない。
+\fBabort\fP() 関数が返ることはない。
.SH 属性
この節で使用されている用語の説明については、 \fBattributes\fP(7) を参照。
.TS
SVr4, POSIX.1\-2001, POSIX.1\-2008, 4.3BSD, C89, C99.
.SH 注意
.\" glibc commit 91e7cf982d0104f0e71770f5ae8e3faf352dea9f
-Up until glibc 2.26, if the \fBabort\fP() function caused process termination,
-all open streams were closed and flushed (as with \fBfclose\fP(3)). However,
-in some cases this could result in deadlocks and data corruption.
-Therefore, starting with glibc 2.27, \fBabort\fP() terminates the process
-without flushing streams. POSIX.1 permits either possible behavior, saying
-that \fBabort\fP() "may include an attempt to effect fclose() on all open
-streams".
+glibc 2.26 以前は、 \fBabort\fP() 関数によってプロセスの終了が引き起こされたときには、すべての開いているストリームは
+(\fBclose\fP(3) で) 閉じられフラッシュされる。しかしながら、この動作はデッドロックやデータ破壊につながる場合がある。そのため、 glibc
+2.27 以降では、 \fBabort\fP() はストリームをフラッシュせずにプロセスを終了する。 POSIX.1\-2001
+ではどちらの動作も認めており、「\fBabort\fP() にはすべてのオープンされたストリームに対して fclose()
+を行おうとする処理が含まれていてもよい」 ("\fBabort\fP() may include an attempt to effect fclose()
+on all open streams") と書かれている。
.SH 関連項目
\fBgdb\fP(1), \fBsigaction\fP(2), \fBassert\fP(3), \fBexit\fP(3), \fBlongjmp\fP(3),
\fBraise\fP(3)
\fBvoid assert(scalar \fP\fIexpression\fP\fB);\fP
.fi
.SH 説明
-This macro can help programmers find bugs in their programs, or handle
-exceptional cases via a crash that will produce limited debugging output.
+このマクロは、プログラマが、プログラムのバグを見つけたり、例外的な場面を (限定的なデバッグ出力を行う) クラッシュで処理するのに役立つ。
.PP
-If \fIexpression\fP is false (i.e., compares equal to zero), \fBassert\fP()
-prints an error message to standard error and terminates the program by
-calling \fBabort\fP(3). The error message includes the name of the file and
-function containing the \fBassert\fP() call, the source code line number of
-the call, and the text of the argument; something like:
+\fIexpression\fP が偽 (false) の場合 (つまり \fIexpression\fP が 0 と比較して等しい場合)、 \fBassert\fP()
+はエラーメッセージを標準エラーに表示し、 \fBabort\fP(3) を呼び出してプログラムを終了する。エラーメッセージには、以下のように、ファイル名、
+\fBassert\fP() の呼び出しを含む関数名、呼び出しのソースコードの行番号、引き数のテキストが含まれる。
.PP
.in +4n
.EX
POSIX.1\-2001, POSIX.1\-2008, C89, C99. C89 では \fBexpression\fP は \fIint\fP
型であることが必要とされ、そうでない場合の動作は未定義とされていた。 しかし C99 ではどのようなスカラ値でもよいことになった。
.SH バグ
-\fBassert\fP() は、マクロとして実装されている。すなわち、 試されている式が副作用を持っている場合には、 マクロ \fBNDEBUG\fP
-が定義されているかどうかに依存して、プログラムの振舞いは異なるだろう。 これによって、バグ出しするときには消えてしまう
-ã\83\8fã\82¤ã\82¼ã\83³ã\83\90ã\82°(Heisenbugs)ã\82\92ç\94\9fã\81¿å\87ºã\81\99ã\81 ã\82\8dã\81\86。
+\fBassert\fP() は、マクロとして実装されている。すなわち、評価されている式が副作用を持っている場合には、プログラムの振舞いは、マクロ
+\fBNDEBUG\fP が定義されているかによって異なるだろう。このため、デバッグを有効にすると消えてしまうハイゼンバグ (Heisenbugs)
+ã\81\8cèµ·ã\81\93ã\82\8bã\81\93ã\81¨ã\81\8cã\81\82ã\82\8b。
.SH 関連項目
\fBabort\fP(3), \fBassert_perror\fP(3), \fBexit\fP(3)
.SH この文書について
\fIerrno\fP は、ISO C standard で \fIint\fP 型の変更可能な左辺値 として定義されており、明示的に宣言を行ってはならない;
\fIerrno\fP はマクロの場合もありえる。 \fIerrno\fP はスレッド毎に値を持つ。 つまりあるスレッドで \fIerrno\fP が設定されても、
他のスレッドの \fIerrno\fP には影響しない。
-.SS "Error numbers and names"
-Valid error numbers are all positive numbers. The \fI<errno.h>\fP
-header file defines symbolic names for each of the possible error numbers
-that may appear in \fIerrno\fP.
+.SS エラー番号とエラー名
+有効なエラー番号はすべて正の数字である。ヘッダーファイル \fI<errno.h>\fP で、 \fIerrno\fP
+で使われる可能性のあるすべてのエラー番号に対してシンボル名が定義されている。
.PP
POSIX.1 で定義されているすべてのエラー名には、 それぞれ異なる値が対応していなければならない。 但し、 \fBEAGAIN\fP と
\fBEWOULDBLOCK\fP は例外で、これらは同じ値を持ってもよい。 Linux では、すべてのアーキテクチャーでこれら二つは同じ値である。
.PP
-The error numbers that correspond to each symbolic name vary across UNIX
-systems, and even across different architectures on Linux. Therefore,
-numeric values are not included as part of the list of error names below.
-The \fBperror\fP(3) and \fBstrerror\fP(3) functions can be used to convert these
-names to corresponding textual error messages.
+各シンボル名に対応するエラー番号は UNIX システムにより異なり、 Linux
+ではアーキテクチャーによっても異なっている。したがって、数値は以下のエラー名の一覧には含まれていない。関数 \fBperror\fP(3) と
+\fBstrerror\fP(3) を使うと、これらの名前を、対応するテキストのエラーメッセージに変換できる。
.PP
-On any particular Linux system, one can obtain a list of all symbolic error
-names and the corresponding error numbers using the \fBerrno\fP(1) command
-(part of the \fImoreutils\fP package):
+各 Linux システムでは、 \fBerrno\fP(1) コマンド (\fImoreutils\fP パッケージに含まれている)
+を使って、すべてのエラーのシンボル名と対応するエラー番号の一覧を取得できる。
.PP
.in +4n
.EX
.EE
.in
.PP
-The \fBerrno\fP(1) command can also be used to look up individual error
-numbers and names, and to search for errors using strings from the error
-description, as in the following examples:
+\fBerrno\fP(1)
+コマンドを使うと、個々のエラー番号やエラー名を調べたり、エラーの説明に対する文字列検索でエラーを検索したりできる。以下に例を示す。
.PP
.in +4n
.EX
.\" Amendment 1 defines the additional error number \fBEILSEQ\fP for
.\" coding errors in multibyte or wide characters.
.\"
-.SS "List of error names"
-In the list of the symbolic error names below, various names are marked as
-follows:
+.SS エラー名の一覧
+以下のエラーのシンボル名の一覧で、シンボル名に付いている注記は以下の通りである。
.IP * 3
-\fIPOSIX.1\-2001\fP: The name is defined by POSIX.1\-2001, and is defined in
-later POSIX.1 versions, unless otherwise indicated.
+\fIPOSIX.1\-2001\fP: 名前が POSIX.1\-2001 とそれ以降のバージョンの POSIX.1
+で定義されている。但し書きがある場合を除く。
.IP *
-\fIPOSIX.1\-2008\fP: The name is defined in POSIX.1\-2008, but was not present in
-earlier POSIX.1 standards.
+\fIPOSIX.1\-2008\fP: 名前が POSIX.1\-2008 で定義されているが、それ以前の POSIX.1 標準には存在しない。
.IP *
-\fIC99\fP: The name is defined by C99.
+\fIC99\fP: 名前が C99 で定義されている。
.PP
-Below is a list of the symbolic error names that are defined on Linux:
+以下は Linux で定義されているエラーのシンボル名の一覧である。
.TP 16
\fBE2BIG\fP
引き数リストが長過ぎる (POSIX.1\-2001)
操作がキャンセルされた (POSIX.1\-2001)
.TP
\fBECHILD\fP
-子プロセスが無い (POSIX.1\-2001)
+子プロセスがない (POSIX.1\-2001)
.TP
\fBECHRNG\fP
チャンネル番号が範囲外である
送信時に通信エラーが発生した
.TP
\fBECONNABORTED\fP
-接続が中止された (POSIX.1\-2001)
+接続が異常終了した (POSIX.1\-2001)
.TP
\fBECONNREFUSED\fP
接続が拒否された (POSIX.1\-2001)
リソースのデッドロックを回避した (POSIX.1\-2001)
.TP
\fBEDEADLOCK\fP
-On most architectures, a synonym for \fBEDEADLK\fP. On some architectures
-(e.g., Linux MIPS, PowerPC, SPARC), it is a separate error code "File
-locking deadlock error".
+ほとんどのアーキテクチャーでは、 \fBEDEADLK\fP の同義語である。いくつかのアーキテクチャー (Linux MIPS, PowerPC,
+SPARC など) では、別のエラーコード "File locking deadlock error" である。
.TP
\fBEDESTADDRREQ\fP
宛先アドレスが必要である (POSIX.1\-2001)
ホストに到達不能である (POSIX.1\-2001)
.TP
\fBEHWPOISON\fP
-Memory page has hardware error.
+メモリーページにハードウェアエラーがある
.TP
\fBEIDRM\fP
識別子が削除された (POSIX.1\-2001)
.TP
\fBEILSEQ\fP
-Invalid or incomplete multibyte or wide character (POSIX.1, C99).
+無効もしくは不完全なマルチバイト文字、ワイド文字である (POSIX.1, C99).
.IP
-The text shown here is the glibc error description; in POSIX.1, this error
-is described as "Illegal byte sequence".
+ここに表示しているテキストは glibc のエラーの説明である。 POSIX.1\-2001
+では、このエラーの説明は「不正なバイトシーケンス」("Illegal byte sequence") となっている。
.TP
\fBEINPROGRESS\fP
操作が実行中である (POSIX.1\-2001)
ネットワークが到達不能である (POSIX.1\-2001)
.TP
\fBENFILE\fP
-Too many open files in system (POSIX.1\-2001). On Linux, this is probably a
-result of encountering the \fI/proc/sys/fs/file\-max\fP limit (see \fBproc\fP(5)).
+システムでオープンされたファイルが多すぎる (POSIX.1\-2001)。 Linux では、たいてい \fI/proc/sys/fs/file\-max\fP
+上限に達した結果である (\fBproc\fP(5) を参照)。
.TP
\fBENOANO\fP
.\" ENOANO appears to be used by a few drivers
-No anode.
+anode がない
.TP
\fBENOBUFS\fP
.\" ENOCSI is defined but appears to be unused.
ストリームの読み出しキューの先頭に読み出し可能なメッセージがない (POSIX.1\-2001)
.TP
\fBENODEV\fP
-そのようなデバイスは無い (POSIX.1\-2001)
+そのようなデバイスはない (POSIX.1\-2001)
.TP
\fBENOENT\fP
-そのようなファイルやディレクトリは無い (POSIX.1\-2001)
+そのようなファイルやディレクトリはない (POSIX.1\-2001)
.IP
-Typically, this error results when a specified pathname does not exist, or
-one of the components in the directory prefix of a pathname does not exist,
-or the specified pathname is a dangling symbolic link.
+通常は、このエラーは、指定されたパス名が存在しないか、パス名のディレクトリプレフィックスの構成要素のいずれかが存在しないか、指定されたパス名が壊れた
+(dangling) シンボリックリンク、の場合に発生する。
.TP
\fBENOEXEC\fP
実行ファイル形式のエラー (POSIX.1\-2001)
要求された鍵が利用できない
.TP
\fBENOLCK\fP
-利用できるロックが無い (POSIX.1\-2001)
+利用できるロックがない (POSIX.1\-2001)
.TP
\fBENOLINK\fP
.\" POSIX says "Reserved"
メディアが見つからない
.TP
\fBENOMEM\fP
-十分な空きメモリー領域が無い/メモリを割り当てることができない (POSIX.1\-2001)
+十分な空きメモリー領域がない/メモリを割り当てることができない (POSIX.1\-2001)
.TP
\fBENOMSG\fP
要求された型のメッセージが存在しない (POSIX.1\-2001)
指定されたプロトコルが利用できない (POSIX.1\-2001)
.TP
\fBENOSPC\fP
-デバイスに空き領域が無い (POSIX.1\-2001)
+デバイスに空き領域がない (POSIX.1\-2001)
.TP
\fBENOSR\fP
指定されたストリームリソースが存在しない (POSIX.1 (XSI STREAMS オプション))
ディレクトリが空ではない (POSIX.1\-2001)
.TP
\fBENOTRECOVERABLE\fP
-State not recoverable (POSIX.1\-2008).
+状態が復元不可能である (POSIX.1\-2008)
.TP
\fBENOTSOCK\fP
ソケットではない (POSIX.1\-2001)
.TP
\fBEOWNERDEAD\fP
.\" Used at least by the user-space side of rubost mutexes
-Owner died (POSIX.1\-2008).
+所有者が死んでいる (POSIX.1\-2008)
.TP
\fBEPERM\fP
操作が許可されていない (POSIX.1\-2001)
.TP
\fBERFKILL\fP
.\" ERFKILL appears to be used by various drivers
-Operation not possible due to RF\-kill.
+RF\-kill のため操作不可能
.TP
\fBEROFS\fP
読み出し専用のファイルシステムである (POSIX.1\-2001)
.TP
\fBESRCH\fP
.\" ESRMNT is defined but appears not to be used
-そのようなプロセスは無い (POSIX.1\-2001)
+そのようなプロセスはない (POSIX.1\-2001)
.TP
\fBESTALE\fP
ファイルハンドルが古い状態になっている (POSIX.1\-2001)
.TP
\fBETOOMANYREFS\fP
.\" ETOOMANYREFS seems to be used in net/unix/af_unix.c
-Too many references: cannot splice.
+参照が多すぎる: 接合できない
.TP
\fBETXTBSY\fP
テキストファイルが使用中である (POSIX.1\-2001)
.TP
\fBEUCLEAN\fP
-Structure needs cleaning.
+データ構造をきれいにする必要がある
.TP
\fBEUNATCH\fP
プロトコルのドライバが付与 (attach) されていない
.EE
.in
.PP
-Note that the POSIX threads APIs do \fInot\fP set \fIerrno\fP on error. Instead,
-on failure they return an error number as the function result. These error
-numbers have the same meanings as the error numbers returned in \fIerrno\fP by
-other APIs.
+POSIX スレッド API は、エラーの場合に \fIerrno\fP
+を設定「しない」点に注意すること。代わりに、エラーの場合、関数の結果としてエラー番号が返される。これらのエラー番号は、他の API で \fIerrno\fP
+で返されるエラー番号と同じ意味を持つ。
.PP
-On some ancient systems, \fI<errno.h>\fP was not present or did not
-declare \fIerrno\fP, so that it was necessary to declare \fIerrno\fP manually
-(i.e., \fIextern int errno\fP). \fBDo not do this\fP. It long ago ceased to be
-necessary, and it will cause problems with modern versions of the C library.
+いくつかの古いシステムでは、 \fI<errno.h>\fP は存在しなかったり、 \fIerrno\fP を定義していなかった。そのため、
+\fIerrno\fP を手動で (\fIextern int errno\fP のように)
+定義する必要があった。\fBこのようなことはしないこと\fP。ずっと以前にこのようにする必要はなくなっており、最近のバージョンの C
+ライブラリでは問題になるからである。
.SH 関連項目
.\" In the moreutils package
\fBerrno\fP(1), \fBerr\fP(3), \fBerror\fP(3), \fBperror\fP(3), \fBstrerror\fP(3)
\fBextern void (*\fP\fIerror_print_progname\fP\fB) (void);\fP
.fi
.SH 説明
-\fBerror\fP() は汎用的なエラー書き出し関数である。 この関数は標準出力 (\fIstdout\fP) に書き出してから、標準エラー出力
-(\fIstderr\fP) に書き出す。 書き出す内容は、プログラム名・コロン・スペース・ \fBprintf\fP(3) 形式の フォーマット文字列
-\fIformat\fP で指定されたメッセージである。 \fIerrnum\fP が 0 以外の場合、2 つ目のコロンとスペースの後に
-\fIstrerror(errnum)\fP で指定された文字列も書き出す。 \fIformat\fP に必要な任意の引き数が、引き数リストの \fIformat\fP
-ã\81®å¾\8cã\81«ç¶\9aã\81\8fã\80\82 å\87ºå\8a\9bã\81®çµ\82端ã\81«ã\81¯æ\94¹è¡\8cæ\96\87å\97ã\81\8cä»\98ã\81\8f。
+\fBerror\fP() は汎用的なエラー出力関数である。 この関数は標準出力 (\fIstdout\fP) をフラッシュしてから、情報を標準エラー出力
+(\fIstderr\fP) に出力する。 出力される情報は、プログラム名、コロン、スペース、 \fBprintf\fP(3) 形式の フォーマット文字列
+\fIformat\fP で指定されたメッセージである。 \fIerrnum\fP が 0 以外の場合、 2 つ目のコロンとスペースの後に
+\fIstrerror(errnum)\fP で指定された文字列も出力される。 \fIformat\fP で必要な引き数は、引き数リストの \fIformat\fP
+ã\81®å¾\8cã\82\8dã\81«ç¶\9aã\81\91ã\81¦æ\8c\87å®\9aã\81\99ã\82\8bå¿\85è¦\81ã\81\8cã\81\82ã\82\8bã\80\82å\87ºå\8a\9bã\81¯æ\94¹è¡\8cæ\96\87å\97ã\81§çµ\82端ã\81\95ã\82\8cã\82\8b。
.PP
-\fBerror\fP() で出力されるプログラム名は、大域変数 \fBprogram_invocation_name\fP(3) の値である。
-\fIprogram_invocation_name\fP の初期値は \fImain\fP() の \fIargv[0]\fP の値と等しい。
-ã\81\93ã\81®å¤\89æ\95°ã\81®å\80¤ã\81¯å¤\89æ\9b´å\8f¯è\83½ã\81§ã\81\82ã\82\8aã\80\81å¤\89æ\9b´ã\81\99ã\82\8bã\81¨ \fBerror\fP() の出力が変わる。
+\fBerror\fP() で出力されるプログラム名は、大域変数 \fBprogram_invocation_name\fP(3) の値である。
+\fIprogram_invocation_name\fP の初期値は \fImain\fP() の \fIargv[0]\fP
+ã\81®å\80¤ã\81¨ç\89ã\81\97ã\81\84ã\80\82ã\81\93ã\81®å¤\89æ\95°ã\81®å\80¤ã\81¯å¤\89æ\9b´å\8f¯è\83½ã\81§ã\81\82ã\82\8aã\80\81å¤\89æ\9b´ã\81\99ã\82\8bã\81¨ \fBerror\fP() の出力が変わる。
.PP
-\fIstatus\fP が 0 以外の場合、 \fBerror\fP() は \fBexit\fP(3)
+\fIstatus\fP が 0 以外の場合、 \fBerror\fP() は \fBexit\fP(3)
を呼び出して、指定された終了ステータスでプログラムを終了させる。
.PP
-\fBerror_at_line\fP() 関数は、引き数 \fIfilename\fP と \fIlinenum\fP が追加されている以外は、 \fBerror\fP()
-と同じである。 生成される出力は、プログラム名の後に コロン・\fIfilename\fP の値・コロン・\fIlinenum\fP の値が書き出される以外は、
-\fBerror\fP() と同じである。 プリプロセッサの値 \fB__LINE__\fP と \fB__FILE__\fP は、
-\fBerror_at_line\fP() を呼び出すときに役に立つ。 その他のプリプロセッサの値も使うことができる。
-例えば、これらの引き数で入力ファイルにおける位置を参照できる。
+\fBerror_at_line\fP() 関数は、引き数 \fIfilename\fP と \fIlinenum\fP が追加されている以外は \fBerror\fP()
+と同じである。 生成される出力は \fBerror\fP() と同様だが、プログラム名の後に コロン、 \fIfilename\fP の値、コロン、
+\fIlinenum\fP の値が出力される点が異なる。
+
+プリプロセッサの値 \fB__LINE__\fP と \fB__FILE__\fP は、 \fBerror_at_line\fP()
+を呼び出すときに役に立つが、その他のプリプロセッサの値も使うことができる。例えば、これらの引き数で入力ファイルにおける位置を参照することもできる。
.PP
大域変数 \fIerror_one_per_line\fP が 0 以外に設定されている場合、 \fIfilename\fP と \fIlinenum\fP
-の値が共に等しい \fBerror_at_line\fP() の呼び出しは、 1 つの (最初の) メッセージの出力にまとめられる。
+の値が両方とも等しい一連の \fBerror_at_line\fP() の呼び出しは、 1 つの (最初の) メッセージの出力にまとめられる。
.PP
-大域変数 \fIerror_message_count\fP は、 \fBerror\fP() と \fBerror_at_line\fP()
+大域変数 \fIerror_message_count\fP は、 \fBerror\fP() と \fBerror_at_line\fP()
で出力されたメッセージの数を表す。
.PP
大域変数 \fIerror_print_progname\fP に 関数のアドレスが割り当てられている場合 (つまり NULL ではない場合)、
-メッセージの前にプログラム名とコロンを書き出すのではなく、 この関数を呼び出す。 この関数は標準エラー出力 (\fIstderr\fP)
-に対しての適切な文字列を書き出さなければならない。
+メッセージの前にプログラム名とコロンを書き出すのではなく、この関数を呼び出す。この関数は、適切な文字列を標準エラー出力 (\fIstderr\fP)
+に書き出さなければならない。
.SH 属性
この節で使用されている用語の説明については、 \fBattributes\fP(7) を参照。
.ad l
.TE
.ad
.PP
-The internal \fIerror_one_per_line\fP variable is accessed (without any form of
-synchronization, but since it's an \fIint\fP used once, it should be safe
-enough) and, if \fIerror_one_per_line\fP is set nonzero, the internal static
-variables (not exposed to users) used to hold the last printed filename and
-line number are accessed and modified without synchronization; the update is
-not atomic and it occurs before disabling cancellation, so it can be
-interrupted only after one of the two variables is modified. After that,
-\fBerror_at_line\fP() is very much like \fBerror\fP().
+内部変数 \fIerror_one_per_line\fP に (同期の仕組みなしで) アクセスが行われる (ただし、この変数は一度使用された \fIint\fP
+なので、十分安全であろう)。 \fIerror_one_per_line\fP が 0
+以外に設定されている場合、最後に表示したファイル名と行番号を保持するのに使用される (ユーザーに公開されない)
+内部静的変数にアクセスが行われ、同期なしで変更される。この変更は、アトミックではなく、キャンセルが無効化される前にも発生する。そのため、これら 2
+つの変数のうち 1 つだけが変更された後でも割り込まれることがある。それ以外は、 \fBerror_at_line\fP() は \fBerror\fP
+とほぼ同じである。
.SH 準拠
これらの関数と変数は GNU による拡張であり、 移植性を考えたプログラムでは使用すべきではない。
.SH 関連項目
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2021-03-12 14:01+0900\n"
-"PO-Revision-Date: 2021-03-27 19:22+0900\n"
+"PO-Revision-Date: 2021-05-02 02:59+0900\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"called). This results in the abnormal termination of the process unless the "
"B<SIGABRT> signal is caught and the signal handler does not return (see "
"B<longjmp>(3))."
-msgstr ""
-"B<abort>() 関数は、まず B<SIGABRT> の禁止 (block) を解除してから、 "
-"(B<raise>(3) が呼び出されたかのように) 呼び出し元のプロセスに B<SIGABRT> シグ"
-"ナルを上げる。その結果、 B<SIGABRT> シグナルが捕捉 (caught) されて対応するシ"
-"グナルハンドラーが 返って来ない場合以外は、プログラムの異常終了が起こる "
-"(B<longjmp>(3) 参照)。"
+msgstr "B<abort>() 関数は、まず B<SIGABRT> の禁止 (block) を解除してから、 (B<raise>(3) が呼び出されたかのように) 呼び出し元のプロセスに B<SIGABRT> シグナルを上げる。その結果、 B<SIGABRT> シグナルが捕捉 (caught) されていて、対応するシグナルハンドラーが返って来ない場合 (B<longjmp>(3) 参照) 以外は、プログラムの異常終了が起こる。"
#. type: Plain text
#: build/C/man3/abort.3:66
"the B<abort>() function will still terminate the process. It does this by "
"restoring the default disposition for B<SIGABRT> and then raising the signal "
"for a second time."
-msgstr ""
-"B<SIGABRT> シグナルが無視、または返って来るシグナルハンドラーで 捕捉されるよ"
-"うになっている場合であっても、 B<abort>() 関数はそのプロセスを終了する。 "
-"B<SIGABRT> シグナルに対する処理方法をデフォルトに戻してから、再度 B<SIGABRT> "
-"シグナルを上げることで、このような動作になる。"
+msgstr "B<SIGABRT> シグナルが無視されている場合や返って来るシグナルハンドラーで捕捉されている場合であっても、 B<abort>() 関数はそのプロセスを終了する。 B<SIGABRT> シグナルに対する処理方法をデフォルトに戻してから、再度 B<SIGABRT> シグナルを上げることで、このような動作になる。"
#. type: SH
#: build/C/man3/abort.3:66 build/C/man3/assert.3:73
#. type: Plain text
#: build/C/man3/abort.3:70
msgid "The B<abort>() function never returns."
-msgstr "B<abort>() 関数が返ることはない。"
+msgstr "B<abort>() 関数が返ることはない。"
#. type: SH
#: build/C/man3/abort.3:70 build/C/man3/assert.3:75
"without flushing streams. POSIX.1 permits either possible behavior, saying "
"that B<abort>() \"may include an attempt to effect fclose() on all open "
"streams\"."
-msgstr ""
+msgstr "glibc 2.26 以前は、 B<abort>() 関数によってプロセスの終了が引き起こされたときには、すべての開いているストリームは (B<close>(3) で) 閉じられフラッシュされる。しかしながら、この動作はデッドロックやデータ破壊につながる場合がある。そのため、 glibc 2.27 以降では、 B<abort>() はストリームをフラッシュせずにプロセスを終了する。 POSIX.1-2001 ではどちらの動作も認めており、「B<abort>() にはすべてのオープンされたストリームに対して fclose() を行おうとする処理が含まれていてもよい」 (\"B<abort>() may include an attempt to effect fclose() on all open streams\") と書かれている。"
#. type: SH
#: build/C/man3/abort.3:99 build/C/man3/assert.3:105
msgid ""
"This macro can help programmers find bugs in their programs, or handle "
"exceptional cases via a crash that will produce limited debugging output."
-msgstr ""
+msgstr "このマクロは、プログラマが、プログラムのバグを見つけたり、例外的な場面を (限定的なデバッグ出力を行う) クラッシュで処理するのに役立つ。"
#. type: Plain text
#: build/C/man3/assert.3:53
"calling B<abort>(3). The error message includes the name of the file and "
"function containing the B<assert>() call, the source code line number of "
"the call, and the text of the argument; something like:"
-msgstr ""
+msgstr "I<expression> が偽 (false) の場合 (つまり I<expression> が 0 と比較して等しい場合)、 B<assert>() はエラーメッセージを標準エラーに表示し、 B<abort>(3) を呼び出してプログラムを終了する。エラーメッセージには、以下のように、ファイル名、 B<assert>() の呼び出しを含む関数名、呼び出しのソースコードの行番号、引き数のテキストが含まれる。"
#. type: Plain text
#: build/C/man3/assert.3:57
"effects, program behavior will be different depending on whether B<NDEBUG> "
"is defined. This may create Heisenbugs which go away when debugging is "
"turned on."
-msgstr ""
-"B<assert>() は、マクロとして実装されている。すなわち、 試されている式が副作"
-"用を持っている場合には、 マクロ B<NDEBUG> が定義されているかどうかに依存し"
-"て、プログラムの振舞いは異なるだろう。 これによって、バグ出しするときには消え"
-"てしまう ハイゼンバグ(Heisenbugs)を生み出すだろう。"
+msgstr "B<assert>() は、マクロとして実装されている。すなわち、評価されている式が副作用を持っている場合には、プログラムの振舞いは、マクロ B<NDEBUG> が定義されているかによって異なるだろう。このため、デバッグを有効にすると消えてしまうハイゼンバグ (Heisenbugs) が起こることがある。"
#. type: Plain text
#: build/C/man3/assert.3:109
#: build/C/man3/errno.3:84
#, no-wrap
msgid "Error numbers and names"
-msgstr ""
+msgstr "エラー番号とエラー名"
#. type: Plain text
#: build/C/man3/errno.3:91
"Valid error numbers are all positive numbers. The I<E<lt>errno.hE<gt>> "
"header file defines symbolic names for each of the possible error numbers "
"that may appear in I<errno>."
-msgstr ""
+msgstr "有効なエラー番号はすべて正の数字である。ヘッダーファイル I<E<lt>errno.hE<gt>> で、 I<errno> で使われる可能性のあるすべてのエラー番号に対してシンボル名が定義されている。"
#. type: Plain text
#: build/C/man3/errno.3:99
"numeric values are not included as part of the list of error names below. "
"The B<perror>(3) and B<strerror>(3) functions can be used to convert these "
"names to corresponding textual error messages."
-msgstr ""
+msgstr "各シンボル名に対応するエラー番号は UNIX システムにより異なり、 Linux ではアーキテクチャーによっても異なっている。したがって、数値は以下のエラー名の一覧には含まれていない。関数 B<perror>(3) と B<strerror>(3) を使うと、これらの名前を、対応するテキストのエラーメッセージに変換できる。"
#. type: Plain text
#: build/C/man3/errno.3:119
"On any particular Linux system, one can obtain a list of all symbolic error "
"names and the corresponding error numbers using the B<errno>(1) command "
"(part of the I<moreutils> package):"
-msgstr ""
+msgstr "各 Linux システムでは、 B<errno>(1) コマンド (I<moreutils> パッケージに含まれている) を使って、すべてのエラーのシンボル名と対応するエラー番号の一覧を取得できる。"
#. type: Plain text
#: build/C/man3/errno.3:129
"The B<errno>(1) command can also be used to look up individual error "
"numbers and names, and to search for errors using strings from the error "
"description, as in the following examples:"
-msgstr ""
+msgstr "B<errno>(1) コマンドを使うと、個々のエラー番号やエラー名を調べたり、エラーの説明に対する文字列検索でエラーを検索したりできる。以下に例を示す。"
#. type: Plain text
#: build/C/man3/errno.3:146
#: build/C/man3/errno.3:154
#, no-wrap
msgid "List of error names"
-msgstr ""
+msgstr "エラー名の一覧"
#. type: Plain text
#: build/C/man3/errno.3:157
msgid ""
"In the list of the symbolic error names below, various names are marked as "
"follows:"
-msgstr ""
+msgstr "以下のエラーのシンボル名の一覧で、シンボル名に付いている注記は以下の通りである。"
#. type: IP
#: build/C/man3/errno.3:157 build/C/man3/errno.3:161 build/C/man3/errno.3:165
msgid ""
"I<POSIX.1-2001>: The name is defined by POSIX.1-2001, and is defined in "
"later POSIX.1 versions, unless otherwise indicated."
-msgstr ""
+msgstr "I<POSIX.1-2001>: 名前が POSIX.1-2001 とそれ以降のバージョンの POSIX.1 で定義されている。但し書きがある場合を除く。"
#. type: Plain text
#: build/C/man3/errno.3:165
msgid ""
"I<POSIX.1-2008>: The name is defined in POSIX.1-2008, but was not present in "
"earlier POSIX.1 standards."
-msgstr ""
+msgstr "I<POSIX.1-2008>: 名前が POSIX.1-2008 で定義されているが、それ以前の POSIX.1 標準には存在しない。"
#. type: Plain text
#: build/C/man3/errno.3:168
msgid "I<C99>: The name is defined by C99."
-msgstr ""
+msgstr "I<C99>: 名前が C99 で定義されている。"
#. type: Plain text
#: build/C/man3/errno.3:170
msgid "Below is a list of the symbolic error names that are defined on Linux:"
-msgstr ""
+msgstr "以下は Linux で定義されているエラーのシンボル名の一覧である。"
#. type: TP
#: build/C/man3/errno.3:170
#. type: Plain text
#: build/C/man3/errno.3:225
msgid "No child processes (POSIX.1-2001)."
-msgstr "子プロセスが無い (POSIX.1-2001)"
+msgstr "子プロセスがない (POSIX.1-2001)"
#. type: TP
#: build/C/man3/errno.3:225
#. type: Plain text
#: build/C/man3/errno.3:234
msgid "Connection aborted (POSIX.1-2001)."
-msgstr "接続が中止された (POSIX.1-2001)"
+msgstr "接続が異常終了した (POSIX.1-2001)"
#. type: TP
#: build/C/man3/errno.3:234
"On most architectures, a synonym for B<EDEADLK>. On some architectures (e."
"g., Linux MIPS, PowerPC, SPARC), it is a separate error code \"File locking "
"deadlock error\"."
-msgstr ""
+msgstr "ほとんどのアーキテクチャーでは、 B<EDEADLK> の同義語である。いくつかのアーキテクチャー (Linux MIPS, PowerPC, SPARC など) では、別のエラーコード \"File locking deadlock error\" である。"
#. type: TP
#: build/C/man3/errno.3:249
#. type: Plain text
#: build/C/man3/errno.3:278
msgid "Memory page has hardware error."
-msgstr ""
+msgstr "メモリーページにハードウェアエラーがある"
#. type: TP
#: build/C/man3/errno.3:278
#. type: Plain text
#: build/C/man3/errno.3:284
msgid "Invalid or incomplete multibyte or wide character (POSIX.1, C99)."
-msgstr ""
+msgstr "無効もしくは不完全なマルチバイト文字、ワイド文字である (POSIX.1, C99)."
#. type: Plain text
#: build/C/man3/errno.3:287
msgid ""
"The text shown here is the glibc error description; in POSIX.1, this error "
"is described as \"Illegal byte sequence\"."
-msgstr ""
+msgstr "ここに表示しているテキストは glibc のエラーの説明である。 POSIX.1-2001 では、このエラーの説明は「不正なバイトシーケンス」(\"Illegal byte sequence\") となっている。"
#. type: TP
#: build/C/man3/errno.3:287
msgid ""
"Too many open files in system (POSIX.1-2001). On Linux, this is probably a "
"result of encountering the I</proc/sys/fs/file-max> limit (see B<proc>(5))."
-msgstr ""
+msgstr "システムでオープンされたファイルが多すぎる (POSIX.1-2001)。 Linux では、たいてい I</proc/sys/fs/file-max> 上限に達した結果である (B<proc>(5) を参照)。"
#. type: TP
#: build/C/man3/errno.3:394
#. type: Plain text
#: build/C/man3/errno.3:398
msgid "No anode."
-msgstr ""
+msgstr "anode がない"
#. type: TP
#: build/C/man3/errno.3:398
#. type: Plain text
#: build/C/man3/errno.3:408
msgid "No such device (POSIX.1-2001)."
-msgstr "そのようなデバイスは無い (POSIX.1-2001)"
+msgstr "そのようなデバイスはない (POSIX.1-2001)"
#. type: TP
#: build/C/man3/errno.3:408
#. type: Plain text
#: build/C/man3/errno.3:411
msgid "No such file or directory (POSIX.1-2001)."
-msgstr "そのようなファイルやディレクトリは無い (POSIX.1-2001)"
+msgstr "そのようなファイルやディレクトリはない (POSIX.1-2001)"
#. type: Plain text
#: build/C/man3/errno.3:415
"Typically, this error results when a specified pathname does not exist, or "
"one of the components in the directory prefix of a pathname does not exist, "
"or the specified pathname is a dangling symbolic link."
-msgstr ""
+msgstr "通常は、このエラーは、指定されたパス名が存在しないか、パス名のディレクトリプレフィックスの構成要素のいずれかが存在しないか、指定されたパス名が壊れた (dangling) シンボリックリンク、の場合に発生する。"
#. type: TP
#: build/C/man3/errno.3:415
#. type: Plain text
#: build/C/man3/errno.3:424
msgid "No locks available (POSIX.1-2001)."
-msgstr "利用できるロックが無い (POSIX.1-2001)"
+msgstr "利用できるロックがない (POSIX.1-2001)"
#. type: TP
#: build/C/man3/errno.3:424
#. type: Plain text
#: build/C/man3/errno.3:434
msgid "Not enough space/cannot allocate memory (POSIX.1-2001)."
-msgstr "十分な空きメモリー領域が無い/メモリを割り当てることができない (POSIX.1-2001)"
+msgstr "十分な空きメモリー領域がない/メモリを割り当てることができない (POSIX.1-2001)"
#. type: TP
#: build/C/man3/errno.3:434
#. type: Plain text
#: build/C/man3/errno.3:449
msgid "No space left on device (POSIX.1-2001)."
-msgstr "デバイスに空き領域が無い (POSIX.1-2001)"
+msgstr "デバイスに空き領域がない (POSIX.1-2001)"
#. type: TP
#: build/C/man3/errno.3:449
#. type: Plain text
#: build/C/man3/errno.3:474
msgid "State not recoverable (POSIX.1-2008)."
-msgstr ""
+msgstr "状態が復元不可能である (POSIX.1-2008)"
#. type: TP
#: build/C/man3/errno.3:474
#. type: Plain text
#: build/C/man3/errno.3:505
msgid "Owner died (POSIX.1-2008)."
-msgstr ""
+msgstr "所有者が死んでいる (POSIX.1-2008)"
#. type: TP
#: build/C/man3/errno.3:505
#. type: Plain text
#: build/C/man3/errno.3:542
msgid "Operation not possible due to RF-kill."
-msgstr ""
+msgstr "RF-kill のため操作不可能"
#. type: TP
#: build/C/man3/errno.3:542
#. type: Plain text
#: build/C/man3/errno.3:558
msgid "No such process (POSIX.1-2001)."
-msgstr "そのようなプロセスは無い (POSIX.1-2001)"
+msgstr "そのようなプロセスはない (POSIX.1-2001)"
#. type: TP
#: build/C/man3/errno.3:558
#. type: Plain text
#: build/C/man3/errno.3:581
msgid "Too many references: cannot splice."
-msgstr ""
+msgstr "参照が多すぎる: 接合できない"
#. type: TP
#: build/C/man3/errno.3:581
#. type: Plain text
#: build/C/man3/errno.3:587
msgid "Structure needs cleaning."
-msgstr ""
+msgstr "データ構造をきれいにする必要がある"
#. type: TP
#: build/C/man3/errno.3:587
"on failure they return an error number as the function result. These error "
"numbers have the same meanings as the error numbers returned in I<errno> by "
"other APIs."
-msgstr ""
+msgstr "POSIX スレッド API は、エラーの場合に I<errno> を設定「しない」点に注意すること。代わりに、エラーの場合、関数の結果としてエラー番号が返される。これらのエラー番号は、他の API で I<errno> で返されるエラー番号と同じ意味を持つ。"
#. type: Plain text
#: build/C/man3/errno.3:658
"declare I<errno>, so that it was necessary to declare I<errno> manually (i."
"e., I<extern int errno>). B<Do not do this>. It long ago ceased to be "
"necessary, and it will cause problems with modern versions of the C library."
-msgstr ""
+msgstr "いくつかの古いシステムでは、 I<E<lt>errno.hE<gt>> は存在しなかったり、 I<errno> を定義していなかった。そのため、 I<errno> を手動で (I<extern int errno> のように) 定義する必要があった。B<このようなことはしないこと>。ずっと以前にこのようにする必要はなくなっており、最近のバージョンの C ライブラリでは問題になるからである。"
#. In the moreutils package
#. type: Plain text
"given by I<strerror(errnum)>. Any arguments required for I<format> should "
"follow I<format> in the argument list. The output is terminated by a "
"newline character."
-msgstr ""
-"B<error>() は汎用的なエラー書き出し関数である。 この関数は標準出力 "
-"(I<stdout>) に書き出してから、標準エラー出力 (I<stderr>) に書き出す。 書き"
-"出す内容は、プログラム名・コロン・スペース・ B<printf>(3) 形式の フォーマッ"
-"ト文字列 I<format> で指定されたメッセージである。 I<errnum> が 0 以外の場合、"
-"2 つ目のコロンとスペースの後に I<strerror(errnum)> で指定された文字列も書き出"
-"す。 I<format> に必要な任意の引き数が、引き数リストの I<format> の後に続く。 "
-"出力の終端には改行文字が付く。"
+msgstr "B<error>() は汎用的なエラー出力関数である。 この関数は標準出力 (I<stdout>) をフラッシュしてから、情報を標準エラー出力 (I<stderr>) に出力する。 出力される情報は、プログラム名、コロン、スペース、 B<printf>(3) 形式の フォーマット文字列 I<format> で指定されたメッセージである。 I<errnum> が 0 以外の場合、 2 つ目のコロンとスペースの後に I<strerror(errnum)> で指定された文字列も出力される。 I<format> で必要な引き数は、引き数リストの I<format> の後ろに続けて指定する必要がある。出力は改行文字で終端される。"
#. type: Plain text
#: build/C/man3/error.3:75
"B<program_invocation_name>(3). I<program_invocation_name> initially has the "
"same value as I<main>()'s I<argv[0]>. The value of this variable can be "
"modified to change the output of B<error>()."
-msgstr ""
-"B<error>() で出力されるプログラム名は、大域変数 "
-"B<program_invocation_name>(3) の値である。 I<program_invocation_name> の初期"
-"値は I<main>() の I<argv[0]> の値と等しい。 この変数の値は変更可能であり、変"
-"更すると B<error>() の出力が変わる。"
+msgstr "B<error>() で出力されるプログラム名は、大域変数 B<program_invocation_name>(3) の値である。 I<program_invocation_name> の初期値は I<main>() の I<argv[0]> の値と等しい。この変数の値は変更可能であり、変更すると B<error>() の出力が変わる。"
#. type: Plain text
#: build/C/man3/error.3:81
msgid ""
"If I<status> has a nonzero value, then B<error>() calls B<exit>(3) to "
"terminate the program using the given value as the exit status."
-msgstr ""
-"I<status> が 0 以外の場合、 B<error>() は B<exit>(3) を呼び出して、指定され"
-"た終了ステータスでプログラムを終了させる。"
+msgstr "I<status> が 0 以外の場合、 B<error>() は B<exit>(3) を呼び出して、指定された終了ステータスでプログラムを終了させる。"
#. type: Plain text
#: build/C/man3/error.3:101
"useful when calling B<error_at_line>(), but other values can also be used. "
"For example, these arguments could refer to a location in an input file."
msgstr ""
-"B<error_at_line>() 関数は、引き数 I<filename> と I<linenum> が追加されている"
-"以外は、 B<error>() と同じである。 生成される出力は、プログラム名の後に コロ"
-"ン・I<filename> の値・コロン・I<linenum> の値が書き出される以外は、 "
-"B<error>() と同じである。 プリプロセッサの値 B<__LINE__> と B<__FILE__> "
-"は、 B<error_at_line>() を呼び出すときに役に立つ。 その他のプリプロセッサの"
-"値も使うことができる。 例えば、これらの引き数で入力ファイルにおける位置を参照"
-"できる。"
+"B<error_at_line>() 関数は、引き数 I<filename> と I<linenum> が追加されている以外は B<error>() と同じである。 生成される出力は B<error>() と同様だが、プログラム名の後に コロン、 I<filename> の値、コロン、 I<linenum> の値が出力される点が異なる。\n"
+"\n"
+"プリプロセッサの値 B<__LINE__> と B<__FILE__> は、 B<error_at_line>() を呼び出すときに役に立つが、その他のプリプロセッサの値も使うことができる。例えば、これらの引き数で入力ファイルにおける位置を参照することもできる。"
#. type: Plain text
#: build/C/man3/error.3:108
"If the global variable I<error_one_per_line> is set nonzero, a sequence of "
"B<error_at_line>() calls with the same value of I<filename> and I<linenum> "
"will result in only one message (the first) being output."
-msgstr ""
-"大域変数 I<error_one_per_line> が 0 以外に設定されている場合、 I<filename> "
-"と I<linenum> の値が共に等しい B<error_at_line>() の呼び出しは、 1 つの (最"
-"初の) メッセージの出力にまとめられる。"
+msgstr "大域変数 I<error_one_per_line> が 0 以外に設定されている場合、 I<filename> と I<linenum> の値が両方とも等しい一連の B<error_at_line>() の呼び出しは、 1 つの (最初の) メッセージの出力にまとめられる。"
#. type: Plain text
#: build/C/man3/error.3:114
msgid ""
"The global variable I<error_message_count> counts the number of messages "
"that have been output by B<error>() and B<error_at_line>()."
-msgstr ""
-"大域変数 I<error_message_count> は、 B<error>() と B<error_at_line>() で出"
-"力されたメッセージの数を表す。"
+msgstr "大域変数 I<error_message_count> は、 B<error>() と B<error_at_line>() で出力されたメッセージの数を表す。"
#. type: Plain text
#: build/C/man3/error.3:121
"function (i.e., is not NULL), then that function is called instead of "
"prefixing the message with the program name and colon. The function should "
"print a suitable string to I<stderr>."
-msgstr ""
-"大域変数 I<error_print_progname> に 関数のアドレスが割り当てられている場合 "
-"(つまり NULL ではない場合)、 メッセージの前にプログラム名とコロンを書き出すの"
-"ではなく、 この関数を呼び出す。 この関数は標準エラー出力 (I<stderr>) に対し"
-"ての適切な文字列を書き出さなければならない。"
+msgstr "大域変数 I<error_print_progname> に 関数のアドレスが割り当てられている場合 (つまり NULL ではない場合)、 メッセージの前にプログラム名とコロンを書き出すのではなく、この関数を呼び出す。この関数は、適切な文字列を標準エラー出力 (I<stderr>) に書き出さなければならない。"
#. type: tbl table
#: build/C/man3/error.3:132
"not atomic and it occurs before disabling cancellation, so it can be "
"interrupted only after one of the two variables is modified. After that, "
"B<error_at_line>() is very much like B<error>()."
-msgstr ""
+msgstr "内部変数 I<error_one_per_line> に (同期の仕組みなしで) アクセスが行われる (ただし、この変数は一度使用された I<int> なので、十分安全であろう)。 I<error_one_per_line> が 0 以外に設定されている場合、最後に表示したファイル名と行番号を保持するのに使用される (ユーザーに公開されない) 内部静的変数にアクセスが行われ、同期なしで変更される。この変更は、アトミックではなく、キャンセルが無効化される前にも発生する。そのため、これら 2 つの変数のうち 1 つだけが変更された後でも割り込まれることがある。それ以外は、 B<error_at_line>() は B<error> とほぼ同じである。"
#. type: Plain text
#: build/C/man3/error.3:159
"B<program_invocation_name>(3), B<strerror>(3)"
#~ msgid ""
-#~ "If the B<abort>() function causes process termination, all open streams "
-#~ "are closed and flushed."
-#~ msgstr ""
-#~ "B<abort>() 関数によってプロセスの終了が引き起こされたときには、 すべての"
-#~ "開いているストリームは閉じられフラッシュされる。"
-
-#~ msgid "Multithreading (see pthreads(7))"
-#~ msgstr "マルチスレッディング (pthreads(7) 参照)"
-
-#~ msgid "The B<abort>() function is thread-safe."
-#~ msgstr "B<abort>() 関数はスレッドセーフである。"
-
-#~ msgid ""
#~ "The purpose of this macro is to help programmers find bugs in their "
#~ "programs. The message \"assertion failed in file foo.c, function "
#~ "do_bar(), line 1287\" is of no help at all to a user."
\fBvoid abort(void);\fP
.fi
.SH 説明
-\fBabort\fP() 関数は、まず \fBSIGABRT\fP の禁止 (block) を解除してから、 (\fBraise\fP(3)
-が呼び出されたかのように) 呼び出し元のプロセスに \fBSIGABRT\fP シグナルを上げる。その結果、 \fBSIGABRT\fP シグナルが捕捉
-(caught) されて対応するシグナルハンドラーが 返って来ない場合以外は、プログラムの異常終了が起こる (\fBlongjmp\fP(3) 参照)。
+\fBabort\fP() 関数は、まず \fBSIGABRT\fP の禁止 (block) を解除してから、 (\fBraise\fP(3) が呼び出されたかのように)
+呼び出し元のプロセスに \fBSIGABRT\fP シグナルを上げる。その結果、 \fBSIGABRT\fP シグナルが捕捉 (caught)
+されていて、対応するシグナルハンドラーが返って来ない場合 (\fBlongjmp\fP(3) 参照) 以外は、プログラムの異常終了が起こる。
.PP
-\fBSIGABRT\fP ã\82·ã\82°ã\83\8aã\83«ã\81\8cç\84¡è¦\96ã\80\81ã\81¾ã\81\9fã\81¯è¿\94ã\81£ã\81¦æ\9d¥ã\82\8bã\82·ã\82°ã\83\8aã\83«ã\83\8fã\83³ã\83\89ã\83©ã\83¼ã\81§ æ\8d\95æ\8d\89ã\81\95ã\82\8cã\82\8bã\82\88ã\81\86ã\81«ã\81ªã\81£ている場合であっても、 \fBabort\fP()
+\fBSIGABRT\fP ã\82·ã\82°ã\83\8aã\83«ã\81\8cç\84¡è¦\96ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bå ´å\90\88ã\82\84è¿\94ã\81£ã\81¦æ\9d¥ã\82\8bã\82·ã\82°ã\83\8aã\83«ã\83\8fã\83³ã\83\89ã\83©ã\83¼ã\81§æ\8d\95æ\8d\89ã\81\95ã\82\8cている場合であっても、 \fBabort\fP()
関数はそのプロセスを終了する。 \fBSIGABRT\fP シグナルに対する処理方法をデフォルトに戻してから、再度 \fBSIGABRT\fP
シグナルを上げることで、このような動作になる。
.SH 返り値
-\fBabort\fP() 関数が返ることはない。
+\fBabort\fP() 関数が返ることはない。
.SH 属性
この節で使用されている用語の説明については、 \fBattributes\fP(7) を参照。
.TS
SVr4, POSIX.1\-2001, POSIX.1\-2008, 4.3BSD, C89, C99.
.SH 注意
.\" glibc commit 91e7cf982d0104f0e71770f5ae8e3faf352dea9f
-Up until glibc 2.26, if the \fBabort\fP() function caused process termination,
-all open streams were closed and flushed (as with \fBfclose\fP(3)). However,
-in some cases this could result in deadlocks and data corruption.
-Therefore, starting with glibc 2.27, \fBabort\fP() terminates the process
-without flushing streams. POSIX.1 permits either possible behavior, saying
-that \fBabort\fP() "may include an attempt to effect fclose() on all open
-streams".
+glibc 2.26 以前は、 \fBabort\fP() 関数によってプロセスの終了が引き起こされたときには、すべての開いているストリームは
+(\fBclose\fP(3) で) 閉じられフラッシュされる。しかしながら、この動作はデッドロックやデータ破壊につながる場合がある。そのため、 glibc
+2.27 以降では、 \fBabort\fP() はストリームをフラッシュせずにプロセスを終了する。 POSIX.1\-2001
+ではどちらの動作も認めており、「\fBabort\fP() にはすべてのオープンされたストリームに対して fclose()
+を行おうとする処理が含まれていてもよい」 ("\fBabort\fP() may include an attempt to effect fclose()
+on all open streams") と書かれている。
.SH 関連項目
\fBgdb\fP(1), \fBsigaction\fP(2), \fBassert\fP(3), \fBexit\fP(3), \fBlongjmp\fP(3),
\fBraise\fP(3)
\fBvoid assert(scalar \fP\fIexpression\fP\fB);\fP
.fi
.SH 説明
-This macro can help programmers find bugs in their programs, or handle
-exceptional cases via a crash that will produce limited debugging output.
+このマクロは、プログラマが、プログラムのバグを見つけたり、例外的な場面を (限定的なデバッグ出力を行う) クラッシュで処理するのに役立つ。
.PP
-If \fIexpression\fP is false (i.e., compares equal to zero), \fBassert\fP()
-prints an error message to standard error and terminates the program by
-calling \fBabort\fP(3). The error message includes the name of the file and
-function containing the \fBassert\fP() call, the source code line number of
-the call, and the text of the argument; something like:
+\fIexpression\fP が偽 (false) の場合 (つまり \fIexpression\fP が 0 と比較して等しい場合)、 \fBassert\fP()
+はエラーメッセージを標準エラーに表示し、 \fBabort\fP(3) を呼び出してプログラムを終了する。エラーメッセージには、以下のように、ファイル名、
+\fBassert\fP() の呼び出しを含む関数名、呼び出しのソースコードの行番号、引き数のテキストが含まれる。
.PP
.in +4n
.EX
POSIX.1\-2001, POSIX.1\-2008, C89, C99. C89 では \fBexpression\fP は \fIint\fP
型であることが必要とされ、そうでない場合の動作は未定義とされていた。 しかし C99 ではどのようなスカラ値でもよいことになった。
.SH バグ
-\fBassert\fP() は、マクロとして実装されている。すなわち、 試されている式が副作用を持っている場合には、 マクロ \fBNDEBUG\fP
-が定義されているかどうかに依存して、プログラムの振舞いは異なるだろう。 これによって、バグ出しするときには消えてしまう
-ã\83\8fã\82¤ã\82¼ã\83³ã\83\90ã\82°(Heisenbugs)ã\82\92ç\94\9fã\81¿å\87ºã\81\99ã\81 ã\82\8dã\81\86。
+\fBassert\fP() は、マクロとして実装されている。すなわち、評価されている式が副作用を持っている場合には、プログラムの振舞いは、マクロ
+\fBNDEBUG\fP が定義されているかによって異なるだろう。このため、デバッグを有効にすると消えてしまうハイゼンバグ (Heisenbugs)
+ã\81\8cèµ·ã\81\93ã\82\8bã\81\93ã\81¨ã\81\8cã\81\82ã\82\8b。
.SH 関連項目
\fBabort\fP(3), \fBassert_perror\fP(3), \fBexit\fP(3)
.SH この文書について
\fIerrno\fP は、ISO C standard で \fIint\fP 型の変更可能な左辺値 として定義されており、明示的に宣言を行ってはならない;
\fIerrno\fP はマクロの場合もありえる。 \fIerrno\fP はスレッド毎に値を持つ。 つまりあるスレッドで \fIerrno\fP が設定されても、
他のスレッドの \fIerrno\fP には影響しない。
-.SS "Error numbers and names"
-Valid error numbers are all positive numbers. The \fI<errno.h>\fP
-header file defines symbolic names for each of the possible error numbers
-that may appear in \fIerrno\fP.
+.SS エラー番号とエラー名
+有効なエラー番号はすべて正の数字である。ヘッダーファイル \fI<errno.h>\fP で、 \fIerrno\fP
+で使われる可能性のあるすべてのエラー番号に対してシンボル名が定義されている。
.PP
POSIX.1 で定義されているすべてのエラー名には、 それぞれ異なる値が対応していなければならない。 但し、 \fBEAGAIN\fP と
\fBEWOULDBLOCK\fP は例外で、これらは同じ値を持ってもよい。 Linux では、すべてのアーキテクチャーでこれら二つは同じ値である。
.PP
-The error numbers that correspond to each symbolic name vary across UNIX
-systems, and even across different architectures on Linux. Therefore,
-numeric values are not included as part of the list of error names below.
-The \fBperror\fP(3) and \fBstrerror\fP(3) functions can be used to convert these
-names to corresponding textual error messages.
+各シンボル名に対応するエラー番号は UNIX システムにより異なり、 Linux
+ではアーキテクチャーによっても異なっている。したがって、数値は以下のエラー名の一覧には含まれていない。関数 \fBperror\fP(3) と
+\fBstrerror\fP(3) を使うと、これらの名前を、対応するテキストのエラーメッセージに変換できる。
.PP
-On any particular Linux system, one can obtain a list of all symbolic error
-names and the corresponding error numbers using the \fBerrno\fP(1) command
-(part of the \fImoreutils\fP package):
+各 Linux システムでは、 \fBerrno\fP(1) コマンド (\fImoreutils\fP パッケージに含まれている)
+を使って、すべてのエラーのシンボル名と対応するエラー番号の一覧を取得できる。
.PP
.in +4n
.EX
.EE
.in
.PP
-The \fBerrno\fP(1) command can also be used to look up individual error
-numbers and names, and to search for errors using strings from the error
-description, as in the following examples:
+\fBerrno\fP(1)
+コマンドを使うと、個々のエラー番号やエラー名を調べたり、エラーの説明に対する文字列検索でエラーを検索したりできる。以下に例を示す。
.PP
.in +4n
.EX
.\" Amendment 1 defines the additional error number \fBEILSEQ\fP for
.\" coding errors in multibyte or wide characters.
.\"
-.SS "List of error names"
-In the list of the symbolic error names below, various names are marked as
-follows:
+.SS エラー名の一覧
+以下のエラーのシンボル名の一覧で、シンボル名に付いている注記は以下の通りである。
.IP * 3
-\fIPOSIX.1\-2001\fP: The name is defined by POSIX.1\-2001, and is defined in
-later POSIX.1 versions, unless otherwise indicated.
+\fIPOSIX.1\-2001\fP: 名前が POSIX.1\-2001 とそれ以降のバージョンの POSIX.1
+で定義されている。但し書きがある場合を除く。
.IP *
-\fIPOSIX.1\-2008\fP: The name is defined in POSIX.1\-2008, but was not present in
-earlier POSIX.1 standards.
+\fIPOSIX.1\-2008\fP: 名前が POSIX.1\-2008 で定義されているが、それ以前の POSIX.1 標準には存在しない。
.IP *
-\fIC99\fP: The name is defined by C99.
+\fIC99\fP: 名前が C99 で定義されている。
.PP
-Below is a list of the symbolic error names that are defined on Linux:
+以下は Linux で定義されているエラーのシンボル名の一覧である。
.TP 16
\fBE2BIG\fP
引き数リストが長過ぎる (POSIX.1\-2001)
操作がキャンセルされた (POSIX.1\-2001)
.TP
\fBECHILD\fP
-子プロセスが無い (POSIX.1\-2001)
+子プロセスがない (POSIX.1\-2001)
.TP
\fBECHRNG\fP
チャンネル番号が範囲外である
送信時に通信エラーが発生した
.TP
\fBECONNABORTED\fP
-接続が中止された (POSIX.1\-2001)
+接続が異常終了した (POSIX.1\-2001)
.TP
\fBECONNREFUSED\fP
接続が拒否された (POSIX.1\-2001)
リソースのデッドロックを回避した (POSIX.1\-2001)
.TP
\fBEDEADLOCK\fP
-On most architectures, a synonym for \fBEDEADLK\fP. On some architectures
-(e.g., Linux MIPS, PowerPC, SPARC), it is a separate error code "File
-locking deadlock error".
+ほとんどのアーキテクチャーでは、 \fBEDEADLK\fP の同義語である。いくつかのアーキテクチャー (Linux MIPS, PowerPC,
+SPARC など) では、別のエラーコード "File locking deadlock error" である。
.TP
\fBEDESTADDRREQ\fP
宛先アドレスが必要である (POSIX.1\-2001)
ホストに到達不能である (POSIX.1\-2001)
.TP
\fBEHWPOISON\fP
-Memory page has hardware error.
+メモリーページにハードウェアエラーがある
.TP
\fBEIDRM\fP
識別子が削除された (POSIX.1\-2001)
.TP
\fBEILSEQ\fP
-Invalid or incomplete multibyte or wide character (POSIX.1, C99).
+無効もしくは不完全なマルチバイト文字、ワイド文字である (POSIX.1, C99).
.IP
-The text shown here is the glibc error description; in POSIX.1, this error
-is described as "Illegal byte sequence".
+ここに表示しているテキストは glibc のエラーの説明である。 POSIX.1\-2001
+では、このエラーの説明は「不正なバイトシーケンス」("Illegal byte sequence") となっている。
.TP
\fBEINPROGRESS\fP
操作が実行中である (POSIX.1\-2001)
ネットワークが到達不能である (POSIX.1\-2001)
.TP
\fBENFILE\fP
-Too many open files in system (POSIX.1\-2001). On Linux, this is probably a
-result of encountering the \fI/proc/sys/fs/file\-max\fP limit (see \fBproc\fP(5)).
+システムでオープンされたファイルが多すぎる (POSIX.1\-2001)。 Linux では、たいてい \fI/proc/sys/fs/file\-max\fP
+上限に達した結果である (\fBproc\fP(5) を参照)。
.TP
\fBENOANO\fP
.\" ENOANO appears to be used by a few drivers
-No anode.
+anode がない
.TP
\fBENOBUFS\fP
.\" ENOCSI is defined but appears to be unused.
ストリームの読み出しキューの先頭に読み出し可能なメッセージがない (POSIX.1\-2001)
.TP
\fBENODEV\fP
-そのようなデバイスは無い (POSIX.1\-2001)
+そのようなデバイスはない (POSIX.1\-2001)
.TP
\fBENOENT\fP
-そのようなファイルやディレクトリは無い (POSIX.1\-2001)
+そのようなファイルやディレクトリはない (POSIX.1\-2001)
.IP
-Typically, this error results when a specified pathname does not exist, or
-one of the components in the directory prefix of a pathname does not exist,
-or the specified pathname is a dangling symbolic link.
+通常は、このエラーは、指定されたパス名が存在しないか、パス名のディレクトリプレフィックスの構成要素のいずれかが存在しないか、指定されたパス名が壊れた
+(dangling) シンボリックリンク、の場合に発生する。
.TP
\fBENOEXEC\fP
実行ファイル形式のエラー (POSIX.1\-2001)
要求された鍵が利用できない
.TP
\fBENOLCK\fP
-利用できるロックが無い (POSIX.1\-2001)
+利用できるロックがない (POSIX.1\-2001)
.TP
\fBENOLINK\fP
.\" POSIX says "Reserved"
メディアが見つからない
.TP
\fBENOMEM\fP
-十分な空きメモリー領域が無い/メモリを割り当てることができない (POSIX.1\-2001)
+十分な空きメモリー領域がない/メモリを割り当てることができない (POSIX.1\-2001)
.TP
\fBENOMSG\fP
要求された型のメッセージが存在しない (POSIX.1\-2001)
指定されたプロトコルが利用できない (POSIX.1\-2001)
.TP
\fBENOSPC\fP
-デバイスに空き領域が無い (POSIX.1\-2001)
+デバイスに空き領域がない (POSIX.1\-2001)
.TP
\fBENOSR\fP
指定されたストリームリソースが存在しない (POSIX.1 (XSI STREAMS オプション))
ディレクトリが空ではない (POSIX.1\-2001)
.TP
\fBENOTRECOVERABLE\fP
-State not recoverable (POSIX.1\-2008).
+状態が復元不可能である (POSIX.1\-2008)
.TP
\fBENOTSOCK\fP
ソケットではない (POSIX.1\-2001)
.TP
\fBEOWNERDEAD\fP
.\" Used at least by the user-space side of rubost mutexes
-Owner died (POSIX.1\-2008).
+所有者が死んでいる (POSIX.1\-2008)
.TP
\fBEPERM\fP
操作が許可されていない (POSIX.1\-2001)
.TP
\fBERFKILL\fP
.\" ERFKILL appears to be used by various drivers
-Operation not possible due to RF\-kill.
+RF\-kill のため操作不可能
.TP
\fBEROFS\fP
読み出し専用のファイルシステムである (POSIX.1\-2001)
.TP
\fBESRCH\fP
.\" ESRMNT is defined but appears not to be used
-そのようなプロセスは無い (POSIX.1\-2001)
+そのようなプロセスはない (POSIX.1\-2001)
.TP
\fBESTALE\fP
ファイルハンドルが古い状態になっている (POSIX.1\-2001)
.TP
\fBETOOMANYREFS\fP
.\" ETOOMANYREFS seems to be used in net/unix/af_unix.c
-Too many references: cannot splice.
+参照が多すぎる: 接合できない
.TP
\fBETXTBSY\fP
テキストファイルが使用中である (POSIX.1\-2001)
.TP
\fBEUCLEAN\fP
-Structure needs cleaning.
+データ構造をきれいにする必要がある
.TP
\fBEUNATCH\fP
プロトコルのドライバが付与 (attach) されていない
.EE
.in
.PP
-Note that the POSIX threads APIs do \fInot\fP set \fIerrno\fP on error. Instead,
-on failure they return an error number as the function result. These error
-numbers have the same meanings as the error numbers returned in \fIerrno\fP by
-other APIs.
+POSIX スレッド API は、エラーの場合に \fIerrno\fP
+を設定「しない」点に注意すること。代わりに、エラーの場合、関数の結果としてエラー番号が返される。これらのエラー番号は、他の API で \fIerrno\fP
+で返されるエラー番号と同じ意味を持つ。
.PP
-On some ancient systems, \fI<errno.h>\fP was not present or did not
-declare \fIerrno\fP, so that it was necessary to declare \fIerrno\fP manually
-(i.e., \fIextern int errno\fP). \fBDo not do this\fP. It long ago ceased to be
-necessary, and it will cause problems with modern versions of the C library.
+いくつかの古いシステムでは、 \fI<errno.h>\fP は存在しなかったり、 \fIerrno\fP を定義していなかった。そのため、
+\fIerrno\fP を手動で (\fIextern int errno\fP のように)
+定義する必要があった。\fBこのようなことはしないこと\fP。ずっと以前にこのようにする必要はなくなっており、最近のバージョンの C
+ライブラリでは問題になるからである。
.SH 関連項目
.\" In the moreutils package
\fBerrno\fP(1), \fBerr\fP(3), \fBerror\fP(3), \fBperror\fP(3), \fBstrerror\fP(3)
\fBextern void (*\fP\fIerror_print_progname\fP\fB) (void);\fP
.fi
.SH 説明
-\fBerror\fP() は汎用的なエラー書き出し関数である。 この関数は標準出力 (\fIstdout\fP) に書き出してから、標準エラー出力
-(\fIstderr\fP) に書き出す。 書き出す内容は、プログラム名・コロン・スペース・ \fBprintf\fP(3) 形式の フォーマット文字列
-\fIformat\fP で指定されたメッセージである。 \fIerrnum\fP が 0 以外の場合、2 つ目のコロンとスペースの後に
-\fIstrerror(errnum)\fP で指定された文字列も書き出す。 \fIformat\fP に必要な任意の引き数が、引き数リストの \fIformat\fP
-ã\81®å¾\8cã\81«ç¶\9aã\81\8fã\80\82 å\87ºå\8a\9bã\81®çµ\82端ã\81«ã\81¯æ\94¹è¡\8cæ\96\87å\97ã\81\8cä»\98ã\81\8f。
+\fBerror\fP() は汎用的なエラー出力関数である。 この関数は標準出力 (\fIstdout\fP) をフラッシュしてから、情報を標準エラー出力
+(\fIstderr\fP) に出力する。 出力される情報は、プログラム名、コロン、スペース、 \fBprintf\fP(3) 形式の フォーマット文字列
+\fIformat\fP で指定されたメッセージである。 \fIerrnum\fP が 0 以外の場合、 2 つ目のコロンとスペースの後に
+\fIstrerror(errnum)\fP で指定された文字列も出力される。 \fIformat\fP で必要な引き数は、引き数リストの \fIformat\fP
+ã\81®å¾\8cã\82\8dã\81«ç¶\9aã\81\91ã\81¦æ\8c\87å®\9aã\81\99ã\82\8bå¿\85è¦\81ã\81\8cã\81\82ã\82\8bã\80\82å\87ºå\8a\9bã\81¯æ\94¹è¡\8cæ\96\87å\97ã\81§çµ\82端ã\81\95ã\82\8cã\82\8b。
.PP
-\fBerror\fP() で出力されるプログラム名は、大域変数 \fBprogram_invocation_name\fP(3) の値である。
-\fIprogram_invocation_name\fP の初期値は \fImain\fP() の \fIargv[0]\fP の値と等しい。
-ã\81\93ã\81®å¤\89æ\95°ã\81®å\80¤ã\81¯å¤\89æ\9b´å\8f¯è\83½ã\81§ã\81\82ã\82\8aã\80\81å¤\89æ\9b´ã\81\99ã\82\8bã\81¨ \fBerror\fP() の出力が変わる。
+\fBerror\fP() で出力されるプログラム名は、大域変数 \fBprogram_invocation_name\fP(3) の値である。
+\fIprogram_invocation_name\fP の初期値は \fImain\fP() の \fIargv[0]\fP
+ã\81®å\80¤ã\81¨ç\89ã\81\97ã\81\84ã\80\82ã\81\93ã\81®å¤\89æ\95°ã\81®å\80¤ã\81¯å¤\89æ\9b´å\8f¯è\83½ã\81§ã\81\82ã\82\8aã\80\81å¤\89æ\9b´ã\81\99ã\82\8bã\81¨ \fBerror\fP() の出力が変わる。
.PP
-\fIstatus\fP が 0 以外の場合、 \fBerror\fP() は \fBexit\fP(3)
+\fIstatus\fP が 0 以外の場合、 \fBerror\fP() は \fBexit\fP(3)
を呼び出して、指定された終了ステータスでプログラムを終了させる。
.PP
-\fBerror_at_line\fP() 関数は、引き数 \fIfilename\fP と \fIlinenum\fP が追加されている以外は、 \fBerror\fP()
-と同じである。 生成される出力は、プログラム名の後に コロン・\fIfilename\fP の値・コロン・\fIlinenum\fP の値が書き出される以外は、
-\fBerror\fP() と同じである。 プリプロセッサの値 \fB__LINE__\fP と \fB__FILE__\fP は、
-\fBerror_at_line\fP() を呼び出すときに役に立つ。 その他のプリプロセッサの値も使うことができる。
-例えば、これらの引き数で入力ファイルにおける位置を参照できる。
+\fBerror_at_line\fP() 関数は、引き数 \fIfilename\fP と \fIlinenum\fP が追加されている以外は \fBerror\fP()
+と同じである。 生成される出力は \fBerror\fP() と同様だが、プログラム名の後に コロン、 \fIfilename\fP の値、コロン、
+\fIlinenum\fP の値が出力される点が異なる。
+
+プリプロセッサの値 \fB__LINE__\fP と \fB__FILE__\fP は、 \fBerror_at_line\fP()
+を呼び出すときに役に立つが、その他のプリプロセッサの値も使うことができる。例えば、これらの引き数で入力ファイルにおける位置を参照することもできる。
.PP
大域変数 \fIerror_one_per_line\fP が 0 以外に設定されている場合、 \fIfilename\fP と \fIlinenum\fP
-の値が共に等しい \fBerror_at_line\fP() の呼び出しは、 1 つの (最初の) メッセージの出力にまとめられる。
+の値が両方とも等しい一連の \fBerror_at_line\fP() の呼び出しは、 1 つの (最初の) メッセージの出力にまとめられる。
.PP
-大域変数 \fIerror_message_count\fP は、 \fBerror\fP() と \fBerror_at_line\fP()
+大域変数 \fIerror_message_count\fP は、 \fBerror\fP() と \fBerror_at_line\fP()
で出力されたメッセージの数を表す。
.PP
大域変数 \fIerror_print_progname\fP に 関数のアドレスが割り当てられている場合 (つまり NULL ではない場合)、
-メッセージの前にプログラム名とコロンを書き出すのではなく、 この関数を呼び出す。 この関数は標準エラー出力 (\fIstderr\fP)
-に対しての適切な文字列を書き出さなければならない。
+メッセージの前にプログラム名とコロンを書き出すのではなく、この関数を呼び出す。この関数は、適切な文字列を標準エラー出力 (\fIstderr\fP)
+に書き出さなければならない。
.SH 属性
この節で使用されている用語の説明については、 \fBattributes\fP(7) を参照。
.ad l
.TE
.ad
.PP
-The internal \fIerror_one_per_line\fP variable is accessed (without any form of
-synchronization, but since it's an \fIint\fP used once, it should be safe
-enough) and, if \fIerror_one_per_line\fP is set nonzero, the internal static
-variables (not exposed to users) used to hold the last printed filename and
-line number are accessed and modified without synchronization; the update is
-not atomic and it occurs before disabling cancellation, so it can be
-interrupted only after one of the two variables is modified. After that,
-\fBerror_at_line\fP() is very much like \fBerror\fP().
+内部変数 \fIerror_one_per_line\fP に (同期の仕組みなしで) アクセスが行われる (ただし、この変数は一度使用された \fIint\fP
+なので、十分安全であろう)。 \fIerror_one_per_line\fP が 0
+以外に設定されている場合、最後に表示したファイル名と行番号を保持するのに使用される (ユーザーに公開されない)
+内部静的変数にアクセスが行われ、同期なしで変更される。この変更は、アトミックではなく、キャンセルが無効化される前にも発生する。そのため、これら 2
+つの変数のうち 1 つだけが変更された後でも割り込まれることがある。それ以外は、 \fBerror_at_line\fP() は \fBerror\fP
+とほぼ同じである。
.SH 準拠
これらの関数と変数は GNU による拡張であり、 移植性を考えたプログラムでは使用すべきではない。
.SH 関連項目
-# pagename,#complete,#remaining,#all
-abort.3,29,1,30
-assert.3,30,2,32
-errno.3,275,25,300
-error.3,38,1,39
☆:LDP man-pages:5.10:2020/06/09:__setfpucw:3:2015/02/05::nakano@apm.seikei.ac.jp:NAKANO Takeo:
@:LDP man-pages:5.10:2015/03/02:_flushlbf:3:stdio_ext:3:
☆:LDP man-pages:5.10:2020/08/13:a64l:3:2015/02/05::ysato444@yahoo.co.jp:Yuichi SATO:
-â\98\86:LDP man-pages:5.10:2020/06/09:abort:3:2015/02/05::tyoshino@eng.toyo.ac.jp:Takashi Yoshino:
+â\97\8b:LDP man-pages:5.10:2020/06/09:abort:3:2021/06/23::amotoki@gmail.com:Akihiro Motoki:
○:LDP man-pages:5.10:2020/11/01:abs:3:2021/04/13::amotoki@gmail.com:Akihiro Motoki:
○:LDP man-pages:5.10:2017/09/15:acos:3:2021/04/13::amotoki@gmail.com:Akihiro Motoki:
@:LDP man-pages:5.10:2017/09/15:acosf:3:acos:3:
@:LDP man-pages:5.10:2017/09/15:asinhl:3:asinh:3:
@:LDP man-pages:5.10:2017/09/15:asinl:3:asin:3:
○:LDP man-pages:5.10:2019/03/06:asprintf:3:2021/04/13::nakano@apm.seikei.ac.jp:NAKANO Takeo:
-â\98\86:LDP man-pages:5.10:2017/09/15:assert:3:2015/02/05::argrath@ub32.org:Kentaro Shirakata:
+â\97\8b:LDP man-pages:5.10:2017/09/15:assert:3:2021/06/23::amotoki@gmail.com:Akihiro Motoki:
○:LDP man-pages:5.10:2017/09/15:assert_perror:3:2021/04/13::amotoki@gmail.com:Akihiro Motoki:
○:LDP man-pages:5.10:2017/09/15:atan:3:2021/04/13::amotoki@gmail.com:Akihiro Motoki:
○:LDP man-pages:5.10:2017/09/15:atan2:3:2021/04/13::amotoki@gmail.com:Akihiro Motoki:
@:LDP man-pages:5.10:2017/09/15:erff:3:erf:3:
@:LDP man-pages:5.10:2017/09/15:erfl:3:erf:3:
○:LDP man-pages:5.10:2020/06/09:err:3:2021/04/13::amotoki@gmail.com:Akihiro Motoki:
-â\98\86:LDP man-pages:5.10:2020/11/01:errno:3:2015/02/05::amotoki@gmail.com:Akihiro Motoki:
-â\98\86:LDP man-pages:5.10:2017/09/15:error:3:2015/02/05::amotoki@gmail.com:Akihiro Motoki:
+â\97\8b:LDP man-pages:5.10:2020/11/01:errno:3:2021/06/23::amotoki@gmail.com:Akihiro Motoki:
+â\97\8b:LDP man-pages:5.10:2017/09/15:error:3:2021/06/23::amotoki@gmail.com:Akihiro Motoki:
@:LDP man-pages:5.10:2017/09/15:error_at_line:3:error:3:
@:LDP man-pages:5.10:2017/09/15:error_message_count:3:error:3:
@:LDP man-pages:5.10:2017/09/15:error_one_per_line:3:error:3:
<TR class="over70"><TD>epoll_ctl.2</TD><TD>27/93</TD><TD>70.97</TD></TR>
<TR class="over80"><TD>epoll_wait.2</TD><TD>7/61</TD><TD>88.52</TD></TR>
<TR class="over80"><TD>poll.2</TD><TD>28/147</TD><TD>80.95</TD></TR>
-<TR class="title"><TD COLSPAN=3>error</TD></TR>
-<TR class="over80"><TD>abort.3</TD><TD>1/30</TD><TD>96.67</TD></TR>
-<TR class="over80"><TD>assert.3</TD><TD>2/32</TD><TD>93.75</TD></TR>
-<TR class="over80"><TD>errno.3</TD><TD>25/300</TD><TD>91.67</TD></TR>
-<TR class="over80"><TD>error.3</TD><TD>1/39</TD><TD>97.44</TD></TR>
<TR class="title"><TD COLSPAN=3>filesystem</TD></TR>
<TR class="over80"><TD>filesystems.5</TD><TD>5/62</TD><TD>91.94</TD></TR>
<TR class="over80"><TD>fts.3</TD><TD>16/142</TD><TD>88.73</TD></TR>
<TR class="title"><TD COLSPAN=3>Summary</TD></TR>
<TR><TD COLSPAN=3>
<UL>
-<LI>Total uncompleted: 575
-<LI>>=80%: 404
+<LI>Total uncompleted: 571
+<LI>>=80%: 400
<LI>>=70%: 44
<LI>>=60%: 36
<LI><60%: 91