OSDN Git Service

Update README
[linuxjm/LDP_man-pages.git] / release / man2 / eventfd.2
index 37c3383..f1ed4a4 100644 (file)
 .\" Updated 2012-08-05, Akihiro MOTOKI <amotoki@gmail.com>
 .\" Updated 2013-03-26, Akihiro MOTOKI <amotoki@gmail.com>
 .\"
-.TH EVENTFD 2 2010\-08\-30 Linux "Linux Programmer's Manual"
+.TH EVENTFD 2 2014\-07\-08 Linux "Linux Programmer's Manual"
 .SH 名前
-eventfd \- イベント通知用のファイルディスクリプタを生成する
+eventfd \- ã\82¤ã\83\99ã\83³ã\83\88é\80\9aç\9f¥ç\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/eventfd.h>\fP
 .sp
 \fBint eventfd(unsigned int \fP\fIinitval\fP\fB, int \fP\fIflags\fP\fB);\fP
 .SH 説明
 \fBeventfd\fP()  は "eventfd オブジェクト" を生成する。 eventfd
-オブジェクトはユーザ空間アプリケーションがイベント待ち受け/通知用の 仕組みとして使うことができる。また、カーネルがユーザ空間アプリケーションに
+オブジェクトはユーザー空間アプリケーションがイベント待ち受け/通知用の 仕組みとして使うことができる。また、カーネルがユーザー空間アプリケーションに
 イベントを通知するためにも使うことができる。 このオブジェクトには、unsigned の 64 ビット整数 (\fIuint64_t\fP)
\9e\8bã\81®ã\82«ã\82¦ã\83³ã\82¿ã\81\8cå\90«ã\81¾ã\82\8cã\81¦ã\81\8aã\82\8aã\80\81ã\81\93ã\81®ã\82«ã\82¦ã\83³ã\82¿ã\81¯ã\82«ã\83¼ã\83\8dã\83«ã\81«ã\82\88ã\82\8a管ç\90\86ã\81\95ã\82\8cã\82\8bã\80\82 ã\81\93ã\81®ã\82«ã\82¦ã\83³ã\82¿は \fIinitval\fP 引き数で指定された値で初期化される。
\9e\8bã\81®ã\82«ã\82¦ã\83³ã\82¿ã\83¼ã\81\8cå\90«ã\81¾ã\82\8cã\81¦ã\81\8aã\82\8aã\80\81ã\81\93ã\81®ã\82«ã\82¦ã\83³ã\82¿ã\83¼ã\81¯ã\82«ã\83¼ã\83\8dã\83«ã\81«ã\82\88ã\82\8a管ç\90\86ã\81\95ã\82\8cã\82\8bã\80\82 ã\81\93ã\81®ã\82«ã\82¦ã\83³ã\82¿ã\83¼は \fIinitval\fP 引き数で指定された値で初期化される。
 
-以下の値のいくつかをビット単位の論理和 (OR) で指定することで、
-\fBeventfd\fP() の振舞いを変更することができる。
+以下の値のいくつかをビット単位の論理和 (OR) で指定することで、 \fBeventfd\fP() の振舞いを変更することができる。
 .TP 
 \fBEFD_CLOEXEC\fP (Linux 2.6.27 以降)
-新しいファイルディスクリプタに対して 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 フラグの説明を参照のこと。
 .TP 
 \fBEFD_NONBLOCK\fP (Linux 2.6.27 以降)
@@ -58,83 +57,74 @@ eventfd \- イベント通知用のファイルディスクリプタを生成す
 を追加で呼び出す必要がなくなる。
 .TP 
 \fBEFD_SEMAPHORE\fP (Linux 2.6.30 以降)
-新しいファイルディスクリプタからの読み出しにおいて、セマフォ風の動作を行う。
-下記参照。
+新しいファイルディスクリプターからの読み出しにおいて、セマフォ風の動作を行う。 下記参照。
 .PP
 バージョン 2.6.26 以前の Linux では、 \fIflags\fP 引き数は未使用であり、0 を指定しなければならない。
 
-\fBeventfd\fP()  は eventfd オブジェクトを参照するのに使用できる新しいファイルディスクリプタ
-を返す。返されたファイルディスクリプタに対しては以下の操作を実行できる。
+\fBeventfd\fP()  は eventfd オブジェクトを参照するのに使用できる新しいファイルディスクリプタ
\82\92è¿\94ã\81\99ã\80\82è¿\94ã\81\95ã\82\8cã\81\9fã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81«å¯¾ã\81\97ã\81¦ã\81¯ä»¥ä¸\8bã\81®æ\93\8dä½\9cã\82\92å®\9fè¡\8cã\81§ã\81\8dã\82\8bã\80\82
 .TP 
 \fBread\fP(2)
-\fBread\fP(2) は成功すると、8 バイトの整数を返す。
-渡されたバッファの大きさが 8 バイト未満の場合、
-\fBread\fP(2)  はエラー \fBEINVAL\fP で失敗する。
+\fBread\fP(2) は成功すると、8 バイトの整数を返す。 渡されたバッファーの大きさが 8 バイト未満の場合、 \fBread\fP(2)  はエラー
+\fBEINVAL\fP で失敗する。
 .IP
-\fBread\fP(2) が返す値は、ホストバイトオーダ、つまり
-そのホストマシンにおける整数の通常のバイトオーダである。
+\fBread\fP(2) が返す値は、ホストバイトオーダ、つまり、そのホストマシンにおける整数の通常のバイトオーダである。
 .IP
-\fBread\fP(2) の動作は、 eventfd カウンタの現在の値が 0 以外であるかと、
-eventfd ファイルディスクリプタを作成する際に \fBEFD_SEMAPHORE\fP フラグが
-指定されたか、により変化する。
+\fBread\fP(2) の動作は、 eventfd カウンターの現在の値が 0 以外であるかと、 eventfd ファイルディスクリプターを作成する際に
+\fBEFD_SEMAPHORE\fP フラグが指定されたか、により変化する。
 .RS
 .IP * 3
-\fBEFD_SEMAPHORE\fP が指定されておらず、eventfd カウンタが 0 以外の値
-の場合、 \fBread\fP(2) はカウンタ値を格納した 8 バイトの値を返し、
-カウンタ値は 0 にリセットされる。
+\fBEFD_SEMAPHORE\fP が指定されておらず、eventfd カウンターが 0 以外の値の場合、 \fBread\fP(2) はカウンター値を格納した
+8 バイトの値を返し、 カウンター値は 0 にリセットされる。
 .IP *
-\fBEFD_SEMAPHORE\fP ã\81\8cæ\8c\87å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\81¦ eventfd ã\82«ã\82¦ã\83³ã\82¿ã\81\8c 0 ä»¥å¤\96ã\81®å\80¤ã\81®å ´å\90\88ã\80\81
-\fBread\fP(2) は値 1 の 8 バイト値を返し、カウンタ値は 1 減算される。
+\fBEFD_SEMAPHORE\fP ã\81\8cæ\8c\87å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\81¦ eventfd ã\82«ã\82¦ã\83³ã\82¿ã\83¼ã\81\8c 0 ä»¥å¤\96ã\81®å\80¤ã\81®å ´å\90\88ã\80\81 \fBread\fP(2) ã\81¯å\80¤ 1 ã\81® 8
+バイト値を返し、カウンター値は 1 減算される。
 .IP *
-\fBread\fP(2) を呼び出した時点で eventfd カウンタが 0 の場合、 \fBread\fP(2)
-はカウンタが 0 以外になるまで停止 (block) する (0 以外になった時点で
-\fBread\fP(2) は上記で述べた通り実行を再開する)、 もしくはファイルディスク
-リプタが非停止 (nonblocking) に設定されている場合はエラー \fBEAGAIN\fPで
-失敗する。
+\fBread\fP(2) を呼び出した時点で eventfd カウンターが 0 の場合、 \fBread\fP(2) はカウンターが 0 以外になるまで停止
+(block) する (0 以外になった時点で \fBread\fP(2) は上記で述べた通り実行を再開する)、 もしくはファイルディスクリプターが非停止
+(nonblocking) に設定されている場合はエラー \fBEAGAIN\fP で失敗する。
 .RE
 .TP 
 \fBwrite\fP(2)
-\fBwrite\fP(2)  ã\81¯ã\80\81å¼\95ã\81\8dæ\95°ã\81®ã\83\90ã\83\83ã\83\95ã\82¡ã\81§æ¸¡ã\81\95ã\82\8cã\81\9f 8 ã\83\90ã\82¤ã\83\88ã\81®æ\95´æ\95°å\80¤ã\82\92ã\82«ã\82¦ã\83³ã\82¿ã\81«å\8a ç®\97ã\81\99ã\82\8bã\80\82 ã\82«ã\82¦ã\83³ã\82¿ã\81«æ ¼ç´\8då\8f¯è\83½ã\81ªæ\9c\80大å\80¤ã\81¯ unsigned ã\81®
-64 ビット整数の最大値から 1 を引いた値 (すなわち 0xfffffffffffffffe) である。
-加算を行うとカウンタ値が最大値を超過する場合には、 そのファイルディスクリプタに対して \fBread\fP(2)  が実行されるまで、
-\fBwrite\fP(2)  は停止 (block) する、 もしくはファイルディスクリプタが非停止 (nonblocking)
+\fBwrite\fP(2)  ã\81¯ã\80\81å¼\95ã\81\8dæ\95°ã\81®ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81§æ¸¡ã\81\95ã\82\8cã\81\9f 8 ã\83\90ã\82¤ã\83\88ã\81®æ\95´æ\95°å\80¤ã\82\92ã\82«ã\82¦ã\83³ã\82¿ã\83¼ã\81«å\8a ç®\97ã\81\99ã\82\8bã\80\82 ã\82«ã\82¦ã\83³ã\82¿ã\83¼ã\81«æ ¼ç´\8då\8f¯è\83½ã\81ªæ\9c\80大å\80¤ã\81¯ unsigned
+の 64 ビット整数の最大値から 1 を引いた値 (すなわち 0xfffffffffffffffe) である。
+加算を行うとカウンター値が最大値を超過する場合には、 そのファイルディスクリプターに対して \fBread\fP(2)  が実行されるまで、
+\fBwrite\fP(2)  ã\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 で失敗する。
 .IP
-渡されたバッファの大きさが 8 バイト未満の場合、もしくは 値 0xffffffffffffffff を書き込もうとした場合、 \fBwrite\fP(2)
+渡ã\81\95ã\82\8cã\81\9fã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81®å¤§ã\81\8dã\81\95ã\81\8c 8 ã\83\90ã\82¤ã\83\88æ\9cªæº\80ã\81®å ´å\90\88ã\80\81ã\82\82ã\81\97ã\81\8fã\81¯ å\80¤ 0xffffffffffffffff ã\82\92æ\9b¸ã\81\8dè¾¼ã\82\82ã\81\86ã\81¨ã\81\97ã\81\9få ´å\90\88ã\80\81 \fBwrite\fP(2)
 はエラー \fBEINVAL\fP で失敗する。
 .TP 
 \fBpoll\fP(2), \fBselect\fP(2) (と同様の操作)
-返されたファイルディスクリプタは、 \fBpoll\fP(2)  (\fBepoll\fP(7)  も同じ) や \fBselect\fP(2)
+è¿\94ã\81\95ã\82\8cã\81\9fã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81¯ã\80\81 \fBpoll\fP(2)  (\fBepoll\fP(7)  ã\82\82å\90\8cã\81\98) ã\82\84 \fBselect\fP(2)
 をサポートしており、以下のような動作をする。
 .RS
 .IP * 3
\82«ã\82¦ã\83³ã\82¿ã\81\8c 0 ã\82\88ã\82\8a大ã\81\8dã\81\84å\80¤ã\81®å ´å\90\88ã\80\81 ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿は読み出し可能となる (\fBselect\fP(2)  の \fIreadfds\fP 引き数や
\82«ã\82¦ã\83³ã\82¿ã\83¼ã\81\8c 0 ã\82\88ã\82\8a大ã\81\8dã\81\84å\80¤ã\81®å ´å\90\88ã\80\81 ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼は読み出し可能となる (\fBselect\fP(2)  の \fIreadfds\fP 引き数や
 \fBpoll\fP(2)  の \fBPOLLIN\fP フラグ)。
 .IP *
-å°\91ã\81ªã\81\8fã\81¨ã\82\82å\80¤ "1" ã\82\92ã\80\81å\81\9cæ­¢ (block) ã\82\92ä¼´ã\82\8fã\81\9aã\81«æ\9b¸ã\81\8dè¾¼ã\82\81ã\82\8bå ´å\90\88ã\80\81 ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\81¯æ\9b¸ã\81\8dè¾¼ã\81¿å\8f¯è\83½ã\81¨ã\81ªã\82\8b (\fBselect\fP(2)  ã\81®
-\fIwritefds\fP 引き数や \fBpoll\fP(2)  の \fBPOLLOUT\fP フラグ)。
+å°\91ã\81ªã\81\8fã\81¨ã\82\82å\80¤ "1" ã\82\92ã\80\81å\81\9cæ­¢ (block) ã\82\92ä¼´ã\82\8fã\81\9aã\81«æ\9b¸ã\81\8dè¾¼ã\82\81ã\82\8bå ´å\90\88ã\80\81 ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81¯æ\9b¸ã\81\8dè¾¼ã\81¿å\8f¯è\83½ã\81¨ã\81ªã\82\8b (\fBselect\fP(2)
+の \fIwritefds\fP 引き数や \fBpoll\fP(2)  の \fBPOLLOUT\fP フラグ)。
 .IP *
-カウンタ値のオーバーフローが検出された場合、 \fBselect\fP(2)  はファイルディスクリプタは読み出し可能と書き込み可能の両方を通知し、
+カウンター値のオーバーフローが検出された場合、 \fBselect\fP(2)  はファイルディスクリプターは読み出し可能と書き込み可能の両方を通知し、
 \fBpoll\fP(2)  は \fBPOLLERR\fP イベントを返す。 上述の通り、 \fBwrite\fP(2)
-でカウンタがオーバーフローすることは決してない。 しかしながら、 KAIO サブシステムによって 2^64 回の eventfd "signal
\81§ã\82«ã\82¦ã\83³ã\82¿ã\83¼ã\81\8cã\82ªã\83¼ã\83\90ã\83¼ã\83\95ã\83­ã\83¼ã\81\99ã\82\8bã\81\93ã\81¨ã\81¯æ±ºã\81\97ã\81¦ã\81ªã\81\84ã\80\82 ã\81\97ã\81\8bã\81\97ã\81ªã\81\8cã\82\89ã\80\81 KAIO ã\82µã\83\96ã\82·ã\82¹ã\83\86ã\83 ã\81«ã\82\88ã\81£ã\81¦ 2^64 å\9b\9eã\81® eventfd "signal
 posts" が 実行された場合にはオーバーフローが起こり得る (理論的にはあり得るが、実用的にはあり得ない)。 オーバーフローが発生した場合、
 \fBread\fP(2)  は \fIuint64_t\fP の最大値 (すなわち 0xffffffffffffffff) を返す。
 .RE
 .IP
-eventfd ã\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¿ å¤\9aé\87\8d API ã\81§ã\81\82ã\82\8b \fBpselect\fP(2) ã\81¨ \fBppoll\fP(2)
-もサポートしている。
+eventfd ã\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¼ å¤\9aé\87\8d API ã\81§ã\81\82ã\82\8b \fBpselect\fP(2) ã\81¨
+\fBppoll\fP(2) もサポートしている。
 .TP 
 \fBclose\fP(2)
-ファイルディスクリプタがそれ以降は必要なくなった際には、クローズすべきである。 同じ eventfd
-オブジェクトに関連付けられたファイルディスクリプタが全て クローズされると、そのオブジェクト用の資源がカーネルにより解放される。
\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 eventfd
\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
 .PP
-\fBfork\fP(2) で生成された子プロセスは、 \fBeventfd\fP() で生成されたファイル
-ディスクリプタのコピーを継承する。 複製されたファイルディスクリプタは同
-じ eventfd オブジェクトに関連付けられる。
-close\-on\-exec フラグが設定されていない場合、 \fBexecve\fP(2) の前後で
-\fBeventfd\fP() で生成されたファイルディスクリプタは保持される。
+\fBfork\fP(2) で生成された子プロセスは、 \fBeventfd\fP() で生成されたファイルディスクリプターのコピーを継承する。
+複製されたファイルディスクリプターは同じ eventfd オブジェクトに関連付けられる。 close\-on\-exec フラグが設定されていない場合、
+\fBexecve\fP(2) の前後で \fBeventfd\fP() で生成されたファイルディスクリプターは保持される。
 .SH 返り値
-成功すると、 \fBeventfd\fP()  は新規の eventfd ファイルディスクリプタを返す。 エラーの場合、\-1 を返し、 \fIerrno\fP
\88\90å\8a\9fã\81\99ã\82\8bã\81¨ã\80\81 \fBeventfd\fP()  ã\81¯æ\96°è¦\8fã\81® eventfd ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92è¿\94ã\81\99ã\80\82 ã\82¨ã\83©ã\83¼ã\81®å ´å\90\88ã\80\81\-1 ã\82\92è¿\94ã\81\97ã\80\81 \fIerrno\fP
 にエラーを示す値を設定する。
 .SH エラー
 .TP 
@@ -142,7 +132,7 @@ close\-on\-exec フラグが設定されていない場合、 \fBexecve\fP(2) 
 \fIflags\fP にサポートされていない値が指定された。
 .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
 オープン済みのファイル総数がシステム全体の上限に達していた。
@@ -156,7 +146,7 @@ close\-on\-exec フラグが設定されていない場合、 \fBexecve\fP(2) 
 (カーネル内の) 無名 inode デバイスをマウントできなかった。
 .TP 
 \fBENOMEM\fP
\96°ã\81\97ã\81\84 eventfd ã\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 eventfd ã\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 バージョン
 .\" eventfd() is in glibc 2.7, but reportedly does not build
 \fBeventfd\fP()  はカーネル 2.6.22 以降の Linux で利用可能である。 正しく動作する glibc 側のサポートはバージョン
@@ -166,25 +156,25 @@ close\-on\-exec フラグが設定されていない場合、 \fBexecve\fP(2) 
 .SH 準拠
 \fBeventfd\fP()  と \fBeventfd2\fP()  は Linux 固有である。
 .SH 注意
-アプリケーションは、パイプをイベントを通知するためだけに使用している 全ての場面において、パイプの代わりに eventfd ファイルディスクリプタを
-使用することができる。 eventfd ファイルディスクリプタを使う方が、パイプを使う場合に比べて
-カーネルでのオーバヘッドは比べるとずっと小さく、ファイルディスクリプタも 一つしか必要としない (パイプの場合は二つ必要である)。
\82¢ã\83\97ã\83ªã\82±ã\83¼ã\82·ã\83§ã\83³ã\81¯ã\80\81ã\83\91ã\82¤ã\83\97ã\82\92ã\82¤ã\83\99ã\83³ã\83\88ã\82\92é\80\9aç\9f¥ã\81\99ã\82\8bã\81\9fã\82\81ã\81 ã\81\91ã\81«ä½¿ç\94¨ã\81\97ã\81¦ã\81\84ã\82\8b å\85¨ã\81¦ã\81®å ´é\9d¢ã\81«ã\81\8aã\81\84ã\81¦ã\80\81ã\83\91ã\82¤ã\83\97ã\81®ä»£ã\82\8fã\82\8aã\81« eventfd ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92
+使ç\94¨ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\80\82 eventfd ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92使ã\81\86æ\96¹ã\81\8cã\80\81ã\83\91ã\82¤ã\83\97ã\82\92使ã\81\86å ´å\90\88ã\81«æ¯\94ã\81¹ã\81¦
\82«ã\83¼ã\83\8dã\83«ã\81§ã\81®ã\82ªã\83¼ã\83\90ã\83\98ã\83\83ã\83\89ã\81¯æ¯\94ã\81¹ã\82\8bã\81¨ã\81\9aã\81£ã\81¨å°\8fã\81\95ã\81\8fã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\82 ä¸\80ã\81¤ã\81\97ã\81\8bå¿\85è¦\81ã\81¨ã\81\97ã\81ªã\81\84 (ã\83\91ã\82¤ã\83\97ã\81®å ´å\90\88ã\81¯äº\8cã\81¤å¿\85è¦\81ã\81§ã\81\82ã\82\8b\80\82
 
 .\" or eventually syslets/threadlets
\82«ã\83¼ã\83\8dã\83«å\86\85ã\81§ä½¿ç\94¨ã\81\99ã\82\8bã\81¨ã\80\81eventfd ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\81¯ã\82«ã\83¼ã\83\8dã\83«ç©ºé\96\93ã\81\8bã\82\89ã\83¦ã\83¼ã\82空間へのブリッジ機能を提供することができ、 例えば KAIO
-(kernel AIO)  のような機能が、あるファイルディスクリプタに何らかの操作が完了したことを 通知することができる。
\82«ã\83¼ã\83\8dã\83«å\86\85ã\81§ä½¿ç\94¨ã\81\99ã\82\8bã\81¨ã\80\81eventfd ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81¯ã\82«ã\83¼ã\83\8dã\83«ç©ºé\96\93ã\81\8bã\82\89ã\83¦ã\83¼ã\82¶ã\83¼空間へのブリッジ機能を提供することができ、 例えば KAIO
+(kernel AIO)  ã\81®ã\82\88ã\81\86ã\81ªæ©\9fè\83½ã\81\8cã\80\81ã\81\82ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81«ä½\95ã\82\89ã\81\8bã\81®æ\93\8dä½\9cã\81\8cå®\8cäº\86ã\81\97ã\81\9fã\81\93ã\81¨ã\82\92 é\80\9aç\9f¥ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\80\82
 
-eventfd ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\81®é\87\8dè¦\81ã\81ªç\82¹ã\81¯ã\80\81 eventfd ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿が \fBselect\fP(2), \fBpoll\fP(2),
-\fBepoll\fP(7)  を使って他のファイルディスクリプタと全く同様に監視できる点である。 このことは、アプリケーションは「従来の
-(traditional)」 ファイルの状態変化と eventfd インタフェースをサポートする他のカーネル機構の状態変化を同時に監視
-できることを意味する (\fBeventfd\fP()  インタフェースがない時には、これらのカーネル機構は \fBselect\fP(2),
+eventfd ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81®é\87\8dè¦\81ã\81ªç\82¹ã\81¯ã\80\81 eventfd ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼が \fBselect\fP(2), \fBpoll\fP(2),
+\fBepoll\fP(7)  ã\82\92使ã\81£ã\81¦ä»\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«ç\9b£è¦\96ã\81§ã\81\8dã\82\8bç\82¹ã\81§ã\81\82ã\82\8bã\80\82 ã\81\93ã\81®ã\81\93ã\81¨ã\81¯ã\80\81ã\82¢ã\83\97ã\83ªã\82±ã\83¼ã\82·ã\83§ã\83³ã\81¯ã\80\8cå¾\93æ\9d¥ã\81®
+(traditional)ã\80\8d ã\83\95ã\82¡ã\82¤ã\83«ã\81®ç\8a¶æ\85\8bå¤\89å\8c\96ã\81¨ eventfd ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\82\92ã\82µã\83\9dã\83¼ã\83\88ã\81\99ã\82\8bä»\96ã\81®ã\82«ã\83¼ã\83\8dã\83«æ©\9fæ§\8bã\81®ç\8a¶æ\85\8bå¤\89å\8c\96ã\82\92å\90\8cæ\99\82ã\81«ç\9b£è¦\96
\81§ã\81\8dã\82\8bã\81\93ã\81¨ã\82\92æ\84\8få\91³ã\81\99ã\82\8b (\fBeventfd\fP()  ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\81\8cã\81ªã\81\84æ\99\82ã\81«ã\81¯ã\80\81ã\81\93ã\82\8cã\82\89ã\81®ã\82«ã\83¼ã\83\8dã\83«æ©\9fæ§\8bã\81¯ \fBselect\fP(2),
 \fBpoll\fP(2), \fBepoll\fP(7)  経由で多重することはできなかった)。
-.SS "下層にある Linux のシステムコール"
+.SS "C ライブラリとカーネル ABI の違い"
 下層にある Linux システムコールは二種類あり、 \fBeventfd\fP()  と、もっと新しい \fBeventfd2\fP()  である。
 \fBeventfd\fP()  は \fIflags\fP 引き数を実装していない。 \fBeventfd2\fP()  では上記の値の \fIflags\fP
 が実装されている。 glibc のラッパー関数は、 \fBeventfd2\fP()  が利用可能であれば、これを使用する。
 .SS "glibc の追加機能"
-GNU C ライブラリは、eventfd ファイルディスクリプタの読み出しと書き込みに
+GNU C ã\83©ã\82¤ã\83\96ã\83©ã\83ªã\81¯ã\80\81eventfd ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81®èª­ã\81¿å\87ºã\81\97ã\81¨æ\9b¸ã\81\8dè¾¼ã\81¿ã\81«
 を関する詳細のいくつか抽象化するために、一つの型と、二つの関数を追加で 定義している。
 .in +4n
 .nf
@@ -196,13 +186,13 @@ int eventfd_write(int fd, eventfd_t value);
 .fi
 .in
 
-これらの関数は、eventfd ファイルディスクリプタに対する読み出しと 書き込みの操作を実行し、正しいバイト数が転送された場合には 0
\81\93ã\82\8cã\82\89ã\81®é\96¢æ\95°ã\81¯ã\80\81eventfd ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81«å¯¾ã\81\99ã\82\8b読ã\81¿å\87ºã\81\97ã\81¨ æ\9b¸ã\81\8dè¾¼ã\81¿ã\81®æ\93\8dä½\9cã\82\92å®\9fè¡\8cã\81\97ã\80\81æ­£ã\81\97ã\81\84ã\83\90ã\82¤ã\83\88æ\95°ã\81\8c転é\80\81ã\81\95ã\82\8cã\81\9få ´å\90\88ã\81«ã\81¯ 0
 を返し、そうでない場合は \-1 を返す。
 .SH 例
 .PP
-以下のプログラムは eventfd ファイルディスクリプタを生成し、 その後 fork を実行して子プロセスを生成する。 親プロセスが少しの間
-sleep する間に、子プロセスは プログラムのコマンドライン引き数で指定された整数(列)をそれぞれ eventfd ファイルディスクリプタに書き込む。
-親プロセスは sleep を完了すると eventfd ファイルディスクリプタから 読み出しを行う。
+以ä¸\8bã\81®ã\83\97ã\83­ã\82°ã\83©ã\83 ã\81¯ eventfd ã\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 ã\81\9dã\81®å¾\8c fork ã\82\92å®\9fè¡\8cã\81\97ã\81¦å­\90ã\83\97ã\83­ã\82»ã\82¹ã\82\92ç\94\9fæ\88\90ã\81\99ã\82\8bã\80\82 è¦ªã\83\97ã\83­ã\82»ã\82¹ã\81\8cå°\91ã\81\97ã\81®é\96\93
+sleep する間に、子プロセスは プログラムのコマンドライン引き数で指定された整数(列)をそれぞれ eventfd
+ファイルディスクリプターに書き込む。 親プロセスは sleep を完了すると eventfd ファイルディスクリプターから 読み出しを行う。
 
 以下に示すシェルセッションにこのプログラムの使い方を示す。
 .in +4n
@@ -282,6 +272,5 @@ main(int argc, char *argv[])
 \fBsignalfd\fP(2), \fBtimerfd_create\fP(2), \fBwrite\fP(2), \fBepoll\fP(7),
 \fBsem_overview\fP(7)
 .SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.63 の一部
-である。プロジェクトの説明とバグ報告に関する情報は
-http://www.kernel.org/doc/man\-pages/ に書かれている。
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部である。
+プロジェクトの説明とバグ報告に関する情報は \%http://www.kernel.org/doc/man\-pages/ に書かれている。