OSDN Git Service

Update README
[linuxjm/LDP_man-pages.git] / release / man2 / signalfd.2
index 569fef7..a77f535 100644 (file)
 .\" This file was generated with po4a. Translate the source file.
 .\"
 .\"*******************************************************************
-.TH SIGNALFD 2 2009\-01\-13 Linux "Linux Programmer's Manual"
+.\"
+.\" Japanese Version Copyright (c) 2008  Akihiro MOTOKI
+.\"         all rights reserved.
+.\" Translated 2008-04-06, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.79
+.\" Updated 2008-11-10, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.13
+.\" Updated 2009-02-23, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.18
+.\"
+.TH SIGNALFD 2 2014\-07\-08 Linux "Linux Programmer's Manual"
 .SH 名前
-signalfd \- シグナル受け付け用のファイルディスクリプタを生成する
+signalfd \- ã\82·ã\82°ã\83\8aã\83«å\8f\97ã\81\91ä»\98ã\81\91ç\94¨ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92ç\94\9fæ\88\90ã\81\99ã\82\8b
 .SH 書式
 \fB#include <sys/signalfd.h>\fP
 .sp
 \fBint signalfd(int \fP\fIfd\fP\fB, const sigset_t *\fP\fImask\fP\fB, int \fP\fIflags\fP\fB);\fP
 .SH 説明
-\fBsignalfd\fP()  ã\81¯ã\80\81å\91¼ã\81³å\87ºã\81\97å\85\83å®\9bã\81¦ã\81®ã\82·ã\82°ã\83\8aã\83«ã\82\92å\8f\97ã\81\91ä»\98ã\81\91ã\82\8bã\81\9fã\82\81ã\81«ä½¿ç\94¨ã\81\95ã\82\8cã\82\8bã\83\95ã\82¡ã\82¤ã\83« ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\82\92ç\94\9fæ\88\90ã\81\99ã\82\8bã\80\82 ã\81\93ã\81®æ\96¹æ³\95ã\81¯ã\82·ã\82°ã\83\8aã\83«ã\83\8fã\83³ã\83\89ã\83©ã\82\84
-\fBsigwaitinfo\fP(2)  を用いる方法の代わりとなるものであり、このファイルディスクリプタを \fBselect\fP(2),
-\fBpoll\fP(2), \fBepoll\fP(7)  で監視できるという利点がある。
+\fBsignalfd\fP()  ã\81¯ã\80\81å\91¼ã\81³å\87ºã\81\97å\85\83å®\9bã\81¦ã\81®ã\82·ã\82°ã\83\8aã\83«ã\82\92å\8f\97ã\81\91ä»\98ã\81\91ã\82\8bã\81\9fã\82\81ã\81«ä½¿ç\94¨ã\81\95ã\82\8cã\82\8bã\83\95ã\82¡ã\82¤ã\83« ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92ç\94\9fæ\88\90ã\81\99ã\82\8bã\80\82
+この方法はシグナルハンドラーや \fBsigwaitinfo\fP(2)  を用いる方法の代わりとなるものであり、このファイルディスクリプターを
+\fBselect\fP(2), \fBpoll\fP(2), \fBepoll\fP(7)  で監視できるという利点がある。
 
-\fImask\fP 引き数には、呼び出し元がこのファイルディスクリプタ経由で受け付けたい シグナル集合を指定する。この引き数で指定するシグナル集合の内容は、
-\fBsigsetops\fP(3)  で説明されているマクロを使って初期化することができる。 通常、ファイルディスクリプタ経由で受信するシグナル集合は、
+\fImask\fP 引き数には、呼び出し元がこのファイルディスクリプター経由で受け付けたい
+シグナル集合を指定する。この引き数で指定するシグナル集合の内容は、 \fBsigsetops\fP(3)
+で説明されているマクロを使って初期化することができる。 通常、ファイルディスクリプター経由で受信するシグナル集合は、
 そのシグナルがデフォルトの配送方法に基いて処理されるのを防ぐために、 \fBsigprocmask\fP(2)  を使ってブロックしておくべきである。
-シグナル \fBSIGKILL\fP と \fBSIGSTOP\fP を signalfd ファイルディスクリプタ経由で受信することはできない。 これらのシグナルが
-\fImask\fP で指定された場合には黙って無視される。
+シグナル \fBSIGKILL\fP と \fBSIGSTOP\fP を signalfd ファイルディスクリプター経由で受信することはできない。
+これらのシグナルが \fImask\fP で指定された場合には黙って無視される。
 
-\fIfd\fP 引き数が \-1 の場合、 \fBsignalfd\fP()  は新しいファイルディスクリプタを生成し、 \fImask\fP
-で指定されたシグナル集合をそのファイルディスクリプタに関連付ける。 \fIfd\fP 引き数が \-1 以外の場合、 \fIfd\fP には有効な既存の
-signalfd ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\82\92æ\8c\87å®\9aã\81\97ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81\9aã\80\81 ã\81\9dã\81®ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿に関連付けられているシグナル集合は \fImask\fP
+\fIfd\fP å¼\95ã\81\8dæ\95°ã\81\8c \-1 ã\81®å ´å\90\88ã\80\81 \fBsignalfd\fP()  ã\81¯æ\96°ã\81\97ã\81\84ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92ç\94\9fæ\88\90ã\81\97ã\80\81 \fImask\fP
\81§æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\82·ã\82°ã\83\8aã\83«é\9b\86å\90\88ã\82\92ã\81\9dã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81«é\96¢é\80£ä»\98ã\81\91ã\82\8bã\80\82 \fIfd\fP å¼\95ã\81\8dæ\95°ã\81\8c \-1 ä»¥å¤\96ã\81®å ´å\90\88ã\80\81 \fIfd\fP ã\81«ã\81¯æ\9c\89å\8a¹ã\81ªæ\97¢å­\98ã\81®
+signalfd ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92æ\8c\87å®\9aã\81\97ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81\9aã\80\81 ã\81\9dã\81®ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼に関連付けられているシグナル集合は \fImask\fP
 を使って置き換えられる。
 
 Linux 2.6.27 以降では、 以下の値のいくつかをビット単位の論理和 (OR) で指定することで、 \fBsignalfd\fP()
@@ -54,45 +62,45 @@ Linux 2.6.27 以降では、 以下の値のいくつかをビット単位の論
 を追加で呼び出す必要がなくなる。
 .TP 
 \fBSFD_CLOEXEC\fP
-新しいファイルディスクリプタに対して close\-on\-exec (\fBFD_CLOEXEC\fP)  フラグをセットする。
\96°ã\81\97ã\81\84ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81«å¯¾ã\81\97ã\81¦ close\-on\-exec (\fBFD_CLOEXEC\fP)  ã\83\95ã\83©ã\82°ã\82\92ã\82»ã\83\83ã\83\88ã\81\99ã\82\8bã\80\82
 このフラグが役に立つ理由については、 \fBopen\fP(2)  の \fBO_CLOEXEC\fP フラグの説明を参照のこと。
 .PP
 バージョン 2.6.26 以前の Linux では、 \fIflags\fP 引き数は未使用であり、0 を指定しなければならない。
 
-\fBsignalfd\fP()  が返すファイルディスクリプタは以下の操作をサポートしている。
+\fBsignalfd\fP()  ã\81\8cè¿\94ã\81\99ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81¯ä»¥ä¸\8bã\81®æ\93\8dä½\9cã\82\92ã\82µã\83\9dã\83¼ã\83\88ã\81\97ã\81¦ã\81\84ã\82\8bã\80\82
 .TP 
 \fBread\fP(2)
 \fImask\fP に指定されているシグナルのうち一つ以上がそのプロセスに対して 処理待ち (pending) であれば、それらのシグナルの情報が
-\fBread\fP(2)  に渡されたバッファを使って、 \fIsignalfd_siginfo\fP 構造体に格納されて返される。 \fBread\fP(2)
\81¯ã\80\81ã\83\90ã\83\83ã\83\95ã\82¡ã\81«æ ¼ç´\8då\8f¯è\83½ã\81ªç¯\84å\9b²ã\81§ã\81§ã\81\8dã\82\8bã\81 ã\81\91å¤\9aã\81\8fã\81®å\87¦ç\90\86å¾\85ã\81¡ã\81®ã\82·ã\82°ã\83\8aã\83«ã\81« ã\81¤ã\81\84ã\81¦ã\81®æ\83\85å ±ã\82\92è¿\94ã\81\99ã\80\82 ã\83\90ã\83\83ã\83\95ã\82¡は最低でも \fIsizeof(struct
+\fBread\fP(2)  ã\81«æ¸¡ã\81\95ã\82\8cã\81\9fã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\82\92使ã\81£ã\81¦ã\80\81 \fIsignalfd_siginfo\fP æ§\8bé\80 ä½\93ã\81«æ ¼ç´\8dã\81\95ã\82\8cã\81¦è¿\94ã\81\95ã\82\8cã\82\8bã\80\82 \fBread\fP(2)
\81¯ã\80\81ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81«æ ¼ç´\8då\8f¯è\83½ã\81ªç¯\84å\9b²ã\81§ã\81§ã\81\8dã\82\8bã\81 ã\81\91å¤\9aã\81\8fã\81®å\87¦ç\90\86å¾\85ã\81¡ã\81®ã\82·ã\82°ã\83\8aã\83«ã\81« ã\81¤ã\81\84ã\81¦ã\81®æ\83\85å ±ã\82\92è¿\94ã\81\99ã\80\82 ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼は最低でも \fIsizeof(struct
 signalfd_siginfo)\fP バイトの大きさがなければならない。 \fBread\fP(2)  の返り値は読み出されたトータルのバイト数である。
 .IP
 \fBread\fP(2)  が行われた結果、シグナルは消費され、 これらのシグナルはそのプロセスに対しては処理待ちではなくなる
-(つまり、シグナルハンドラで捕捉されることもなく、 \fBsigwaitinfo\fP(2)  を使って受け取ることもできなくなる)。
+(ã\81¤ã\81¾ã\82\8aã\80\81ã\82·ã\82°ã\83\8aã\83«ã\83\8fã\83³ã\83\89ã\83©ã\83¼ã\81§æ\8d\95æ\8d\89ã\81\95ã\82\8cã\82\8bã\81\93ã\81¨ã\82\82ã\81ªã\81\8fã\80\81 \fBsigwaitinfo\fP(2)  ã\82\92使ã\81£ã\81¦å\8f\97ã\81\91å\8f\96ã\82\8bã\81\93ã\81¨ã\82\82ã\81§ã\81\8dã\81ªã\81\8fã\81ªã\82\8b\80\82
 .IP
 \fImask\fP に指定されているシグナルがそのプロセスに対して一つも処理待ちでなければ、 \fBread\fP(2)  は、 \fImask\fP
-で指定されたシグナルのうちいずれか一つがそのプロセスに対して発生するまで 停止 (block) する、もしくはファイルディスクリプタが非停止
\81§æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\82·ã\82°ã\83\8aã\83«ã\81®ã\81\86ã\81¡ã\81\84ã\81\9aã\82\8cã\81\8bä¸\80ã\81¤ã\81\8cã\81\9dã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81«å¯¾ã\81\97ã\81¦ç\99ºç\94\9fã\81\99ã\82\8bã\81¾ã\81§ å\81\9cæ­¢ (block) ã\81\99ã\82\8bã\80\81ã\82\82ã\81\97ã\81\8fã\81¯ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81\8cé\9d\9eå\81\9cæ­¢
 (nonblocking)  に設定されている場合はエラー \fBEAGAIN\fP で失敗する。
 .TP 
 \fBpoll\fP(2), \fBselect\fP(2) (と同様の操作)
-\fImask\fP に指定されたシグナルのうち一つ以上がそのプロセスに対して処理待ちであれば、 ファイルディスクリプタは読み出し可能となる
+\fImask\fP ã\81«æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\82·ã\82°ã\83\8aã\83«ã\81®ã\81\86ã\81¡ä¸\80ã\81¤ä»¥ä¸\8aã\81\8cã\81\9dã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81«å¯¾ã\81\97ã\81¦å\87¦ç\90\86å¾\85ã\81¡ã\81§ã\81\82ã\82\8cã\81°ã\80\81 ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81¯èª­ã\81¿å\87ºã\81\97å\8f¯è\83½ã\81¨ã\81ªã\82\8b
 (\fBselect\fP(2)  の \fIreadfds\fP 引き数や \fBpoll\fP(2)  の \fBPOLLIN\fP フラグ)。
 .IP
-signalfd ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\81¯ã\80\81ã\81\93ã\82\8c以å¤\96ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ 多重 API である \fBpselect\fP(2),
+signalfd ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81¯ã\80\81ã\81\93ã\82\8c以å¤\96ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ 多重 API である \fBpselect\fP(2),
 \fBppoll\fP(2), \fBepoll\fP(7)  もサポートしている。
 .TP 
 \fBclose\fP(2)
-ファイルディスクリプタがそれ以降は必要なくなった際には、クローズすべきである。 同じ signalfd
-オブジェクトに関連付けられたファイルディスクリプタが全て クローズされると、そのオブジェクト用の資源がカーネルにより解放される。
\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81\8cã\81\9dã\82\8c以é\99\8dã\81¯å¿\85è¦\81ã\81ªã\81\8fã\81ªã\81£ã\81\9fé\9a\9bã\81«ã\81¯ã\80\81ã\82¯ã\83­ã\83¼ã\82ºã\81\99ã\81¹ã\81\8dã\81§ã\81\82ã\82\8bã\80\82 å\90\8cã\81\98 signalfd
\82ªã\83\96ã\82¸ã\82§ã\82¯ã\83\88ã\81«é\96¢é\80£ä»\98ã\81\91ã\82\89ã\82\8cã\81\9fã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81\8cå\85¨ã\81¦ ã\82¯ã\83­ã\83¼ã\82ºã\81\95ã\82\8cã\82\8bã\81¨ã\80\81ã\81\9dã\81®ã\82ªã\83\96ã\82¸ã\82§ã\82¯ã\83\88ç\94¨ã\81®è³\87æº\90ã\81\8cã\82«ã\83¼ã\83\8dã\83«ã\81«ã\82\88ã\82\8a解æ\94¾ã\81\95ã\82\8cã\82\8bã\80\82
 .SS "signalfd_siginfo 構造体"
-signalfd ファイルディスクリプタからの \fBread\fP(2)  で返される \fIsignalfd_siginfo\fP
+signalfd ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81\8bã\82\89ã\81® \fBread\fP(2)  ã\81§è¿\94ã\81\95ã\82\8cã\82\8b \fIsignalfd_siginfo\fP
 構造体のフォーマットは以下の通りである。
 .in +4n
 .nf
 
 .\" ssi_trapno is unused on most arches
 .\" FIXME Since Linux 2.6.37 there is 'uint16_t ssi_addr_lsb'
-.\" which is not yet documented
+.\" in the signalfd_siginfo structure. This needs to be documented.
 struct signalfd_siginfo {
 struct signalfd_siginfo {
     uint32_t ssi_signo;   /* シグナル番号 */
@@ -100,15 +108,15 @@ struct signalfd_siginfo {
     int32_t  ssi_code;    /* シグナルコード */
     uint32_t ssi_pid;     /* 送信元の PID */
     uint32_t ssi_uid;     /* 送信元の実 UID */
-    int32_t  ssi_fd;      /* ファイルディスクリプタ (SIGIO) */
-    uint32_t ssi_tid;     /* カーネルタイマ ID (POSIX タイマ)
+    int32_t  ssi_fd;      /* ファイルディスクリプタ (SIGIO) */
+    uint32_t ssi_tid;     /* カーネルタイマー ID (POSIX タイマー)
     uint32_t ssi_band;    /* Band イベント (SIGIO) */
-    uint32_t ssi_overrun; /* POSIX タイマのオーバーラン回数 */
+    uint32_t ssi_overrun; /* POSIX ã\82¿ã\82¤ã\83\9eã\83¼ã\81®ã\82ªã\83¼ã\83\90ã\83¼ã\83©ã\83³å\9b\9eæ\95° */
     uint32_t ssi_trapno;  /* シグナルの原因となったトラップ番号 */
     int32_t  ssi_status;  /* 終了ステータスかシグナル (SIGCHLD) */
     int32_t  ssi_int;     /* sigqueue(3) から送られた整数 */
-    uint64_t ssi_ptr;     /* sigqueue(3) から送られたポインタ */
-    uint64_t ssi_utime;   /* 消費したユーザ CPU 時間 (SIGCHLD) */
+    uint64_t ssi_ptr;     /* sigqueue(3) から送られたポインタ */
+    uint64_t ssi_utime;   /* 消費したユーザ CPU 時間 (SIGCHLD) */
     uint64_t ssi_stime;   /* 消費したシステム CPU 時間 (SIGCHLD) */
     uint64_t ssi_addr;    /* シグナルを生成したアドレス
                              (ハードウェアが生成したシグナルの場合) */
@@ -124,39 +132,39 @@ struct signalfd_siginfo {
 フィールドで返される値から判定することができる。 このフィールドは \fIsiginfo_t\fP の \fIsi_code\fP フィールドと同様である。詳細は
 \fBsigaction\fP(2)  を参照。
 .SS "fork(2) での扱い"
-\fBfork\fP(2)  が行われると、子プロセスは signalfd ファイルディスクリプタのコピーを 継承する。
-子プロセスでこのファイルディスクリプタから \fBread\fP(2)  を行うと、子プロセスに対するキューに入っているシグナルに関する 情報が返される。
+\fBfork\fP(2)  ã\81\8cè¡\8cã\82\8fã\82\8cã\82\8bã\81¨ã\80\81å­\90ã\83\97ã\83­ã\82»ã\82¹ã\81¯ signalfd ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81®ã\82³ã\83\94ã\83¼ã\82\92 ç¶\99æ\89¿ã\81\99ã\82\8bã\80\82
+å­\90ã\83\97ã\83­ã\82»ã\82¹ã\81§ã\81\93ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81\8bã\82\89 \fBread\fP(2)  ã\82\92è¡\8cã\81\86ã\81¨ã\80\81å­\90ã\83\97ã\83­ã\82»ã\82¹ã\81«å¯¾ã\81\99ã\82\8bã\82­ã\83¥ã\83¼ã\81«å\85¥ã\81£ã\81¦ã\81\84ã\82\8bã\82·ã\82°ã\83\8aã\83«ã\81«é\96¢ã\81\99ã\82\8b æ\83\85å ±ã\81\8cè¿\94ã\81\95ã\82\8cã\82\8bã\80\82
 .SS "execve(2) での扱い"
-ä»\96ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\81¨å\85¨ã\81\8få\90\8cæ§\98ã\81«ã\80\81 signalfd ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿も \fBexecve\fP(2)
-の前後でオープンされたままとなる。但し、そのファイルディスクリプタに close\-on\-exec のマーク (\fBfcntl\fP(2)  参照)
+ä»\96ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81¨å\85¨ã\81\8få\90\8cæ§\98ã\81«ã\80\81 signalfd ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼も \fBexecve\fP(2)
\81®å\89\8då¾\8cã\81§ã\82ªã\83¼ã\83\97ã\83³ã\81\95ã\82\8cã\81\9fã\81¾ã\81¾ã\81¨ã\81ªã\82\8bã\80\82ä½\86ã\81\97ã\80\81ã\81\9dã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81« close\-on\-exec ã\81®ã\83\9eã\83¼ã\82¯ (\fBfcntl\fP(2)  å\8f\82ç\85§)
 が付いている場合はクローズされる。 \fBexecve\fP(2)  の前に読み出し可能となっていた全てのシグナルは新しく起動されたプログラム
 でも引き続き読み出し可能である (これは伝統的なシグナルの扱いと同じであり、 処理待ちのブロックされたシグナルは \fBexecve\fP(2)
 の前後で処理待ちのままとなる)。
 .SS スレッドでの扱い
-マルチスレッドプログラムにおける signalfd ファイルディスクリプタの扱いは シグナルの標準的な扱いと全く同じである。
-言い換えると、あるスレッドが signalfd ファイルディスクリプタから 読み出しを行うと、そのスレッド自身宛てのシグナルとプロセス (すなわち
\83\9eã\83«ã\83\81ã\82¹ã\83¬ã\83\83ã\83\89ã\83\97ã\83­ã\82°ã\83©ã\83 ã\81«ã\81\8aã\81\91ã\82\8b signalfd ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81®æ\89±ã\81\84ã\81¯ ã\82·ã\82°ã\83\8aã\83«ã\81®æ¨\99æº\96ç\9a\84ã\81ªæ\89±ã\81\84ã\81¨å\85¨ã\81\8få\90\8cã\81\98ã\81§ã\81\82ã\82\8bã\80\82
+è¨\80ã\81\84æ\8f\9bã\81\88ã\82\8bã\81¨ã\80\81ã\81\82ã\82\8bã\82¹ã\83¬ã\83\83ã\83\89ã\81\8c signalfd ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81\8bã\82\89 èª­ã\81¿å\87ºã\81\97ã\82\92è¡\8cã\81\86ã\81¨ã\80\81ã\81\9dã\81®ã\82¹ã\83¬ã\83\83ã\83\89è\87ªèº«å®\9bã\81¦ã\81®ã\82·ã\82°ã\83\8aã\83«ã\81¨ã\83\97ã\83­ã\82»ã\82¹ (ã\81\99ã\81ªã\82\8fã\81¡
 スレッドグループ全体) 宛てのシグナルが読み出される。 (スレッドは同じプロセスの他のスレッド宛てのシグナルを読み出すことはできない。)
 .SH 返り値
\88\90å\8a\9fã\81\99ã\82\8bã\81¨ã\80\81 \fBsignalfd\fP()  ã\81¯ signalfd ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\82\92è¿\94ã\81\99ã\80\82 è¿\94ã\81\95ã\82\8cã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿は、 \fIfd\fP が
-\-1 ã\81®å ´å\90\88ã\81¯æ\96°è¦\8fã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\81§ã\81\82ã\82\8aã\80\81 \fIfd\fP ã\81\8cæ\9c\89å\8a¹ã\81ª signalfd ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\81 ã\81£ã\81\9få ´å\90\88ã\81¯ \fIfd\fP è\87ªèº«ã\81§ã\81\82ã\82\8bã\80\82
-エラーの場合、\-1 を返し、 \fIerrno\fP にエラーを示す値を設定する。
\88\90å\8a\9fã\81\99ã\82\8bã\81¨ã\80\81 \fBsignalfd\fP()  ã\81¯ signalfd ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92è¿\94ã\81\99ã\80\82 è¿\94ã\81\95ã\82\8cã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼は、 \fIfd\fP が
+\-1 ã\81®å ´å\90\88ã\81¯æ\96°è¦\8fã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81§ã\81\82ã\82\8aã\80\81 \fIfd\fP ã\81\8cæ\9c\89å\8a¹ã\81ª signalfd ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81 ã\81£ã\81\9få ´å\90\88ã\81¯ \fIfd\fP
+自身である。 エラーの場合、\-1 を返し、 \fIerrno\fP にエラーを示す値を設定する。
 .SH エラー
 .TP 
 \fBEBADF\fP
-ファイルディスクリプタ \fIfd\fP が有効なファイルディスクリプタでない。
+ファイルディスクリプター \fIfd\fP が有効なファイルディスクリプターでない。
 .TP 
 \fBEINVAL\fP
 .\" or, the
 .\" .I sizemask
 .\" argument is not equal to
 .\" .IR sizeof(sigset_t) ;
-\fIfd\fP が有効な signalfd ファイルディスクリプタではない。
+\fIfd\fP ã\81\8cæ\9c\89å\8a¹ã\81ª signalfd ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81§ã\81¯ã\81ªã\81\84ã\80\82
 .TP 
 \fBEINVAL\fP
 \fIflags\fP が無効である。もしくは、Linux 2.6.26 以前の場合には \fIflags\fP が 0 以外である。
 .TP 
 \fBEMFILE\fP
-オープン済みのファイルディスクリプタの数がプロセスあたりの上限に 達していた。
\82ªã\83¼ã\83\97ã\83³æ¸\88ã\81¿ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81®æ\95°ã\81\8cã\83\97ã\83­ã\82»ã\82¹ã\81\82ã\81\9fã\82\8aã\81®ä¸\8aé\99\90ã\81« é\81\94ã\81\97ã\81¦ã\81\84ã\81\9fã\80\82
 .TP 
 \fBENFILE\fP
 オープン済みのファイル総数がシステム全体の上限に達していた。
@@ -165,7 +173,7 @@ struct signalfd_siginfo {
 (カーネル内の) 無名 inode デバイスをマウントできなかった。
 .TP 
 \fBENOMEM\fP
\96°ã\81\97ã\81\84 signalfd ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\82\92ç\94\9fæ\88\90ã\81\99ã\82\8bã\81®ã\81«å\8d\81å\88\86ã\81ªã\83¡ã\83¢ã\83ªがなかった。
\96°ã\81\97ã\81\84 signalfd ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92ç\94\9fæ\88\90ã\81\99ã\82\8bã\81®ã\81«å\8d\81å\88\86ã\81ªã\83¡ã\83¢ã\83ªã\83¼がなかった。
 .SH バージョン
 .\" signalfd() is in glibc 2.7, but reportedly does not build
 \fBsignalfd\fP()  はカーネル 2.6.22 以降の Linux で利用可能である。 正しく動作する glibc 側のサポートはバージョン
@@ -174,16 +182,17 @@ struct signalfd_siginfo {
 .SH 準拠
 \fBsignalfd\fP()  と \fBsignalfd4\fP()  は Linux 固有である。
 .SH 注意
+一つのプロセスは複数の signalfd ファイルディスクリプターを生成することができる。
+これにより、異なるファイルディスクリプターで異なるシグナルを受け取ることが できる (この機能は \fBselect\fP(2), \fBpoll\fP(2),
+\fBepoll\fP(7)  を使ってファイルディスクリプターを監視する場合に有用かもしれない。
+異なるシグナルが到着すると、異なるファイルディスクリプターが利用可能に なるからだ)。 一つのシグナルが二つ以上のファイルディスクリプターの
+\fImask\fP に含まれている場合、そのシグナルの発生はそのシグナルを \fImask\fP
+に含むファイルディスクリプターのうちいずれか一つから読み出すことができる。
+.SS "C ライブラリとカーネル ABI の違い"
 実際の Linux のシステムコールでは \fIsize_t sizemask\fP という引き数が追加で必要である。この引き数で \fImask\fP
 のサイズを指定する。 glibc の \fBsignalfd\fP()  ラッパー関数にはこの引き数は含まれず、
 ラッパー関数が必要な値を計算して内部で呼び出すシステムコールに提供する。
 
-一つのプロセスは複数の signalfd ファイルディスクリプタを生成することができる。
-これにより、異なるファイルディスクリプタで異なるシグナルを受け取ることが できる (この機能は \fBselect\fP(2), \fBpoll\fP(2),
-\fBepoll\fP(7)  を使ってファイルディスクリプタを監視する場合に有用かもしれない。
-異なるシグナルが到着すると、異なるファイルディスクリプタが利用可能に なるからだ)。 一つのシグナルが二つ以上のファイルディスクリプタの \fImask\fP
-に含まれている場合、そのシグナルの発生はそのシグナルを \fImask\fP に含むファイルディスクリプタのうちいずれか一つから読み出すことができる。
-.SS "下層にある Linux のシステムコール"
 下層にある Linux システムコールは二種類あり、 \fBsignalfd\fP()  と、もっと新しい \fBsignalfd4\fP()  である。
 \fBsignalfd\fP()  は \fIflags\fP 引き数を実装していない。 \fBsignalfd4\fP()  では上記の値の \fIflags\fP
 が実装されている。 glibc 2.9 以降では、 \fBsignalfd\fP()  のラッパー関数は、 \fBsignalfd4\fP()
@@ -193,7 +202,7 @@ struct signalfd_siginfo {
 カーネル 2.6.25 より前では、 \fBsigqueue\fP(3)  により送信されたシグナルと一緒に渡されるデータでは、フィールド
 \fIssi_ptr\fP と \fIssi_int\fP は設定されない。
 .SH 例
-下記のプログラムは、シグナル \fBSIGINT\fP と \fBSIGQUIT\fP を signalfd ファイルディスクリプタ経由で受信する。 シグナル
+下記のプログラムは、シグナル \fBSIGINT\fP と \fBSIGQUIT\fP を signalfd ファイルディスクリプタ経由で受信する。 シグナル
 \fBSIGQUIT\fP 受信後にプログラムは終了する。 以下に示すシェルセッションにこのプログラムの使い方を示す。
 .in +4n
 .nf
@@ -263,6 +272,5 @@ main(int argc, char *argv[])
 \fBsigprocmask\fP(2), \fBsigwaitinfo\fP(2), \fBtimerfd_create\fP(2), \fBsigsetops\fP(3),
 \fBsigwait\fP(3), \fBepoll\fP(7), \fBsignal\fP(7)
 .SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.51 の一部
-である。プロジェクトの説明とバグ報告に関する情報は
-http://www.kernel.org/doc/man\-pages/ に書かれている。
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部である。
+プロジェクトの説明とバグ報告に関する情報は \%http://www.kernel.org/doc/man\-pages/ に書かれている。