OSDN Git Service

Translation snapshot for LDP v3.76
authorAkihiro MOTOKI <amotoki@gmail.com>
Mon, 5 Jan 2015 00:35:36 +0000 (09:35 +0900)
committerAkihiro MOTOKI <amotoki@gmail.com>
Mon, 5 Jan 2015 00:35:36 +0000 (09:35 +0900)
29 files changed:
draft/man2/dup.2
draft/man2/epoll_ctl.2
draft/man2/poll.2
draft/man2/statfs.2
draft/man3/ether_aton.3
draft/man3/ftw.3
draft/man3/getgrent.3
draft/man3/getnameinfo.3
draft/man3/isfdtype.3 [new file with mode: 0644]
draft/man3/pthread_rwlockattr_setkind_np.3 [new file with mode: 0644]
draft/man5/resolv.conf.5
draft/man7/epoll.7
draft/man7/ip.7
draft/man7/packet.7
po4a/epoll/po/ja.po
po4a/filesystem/po/ja.po
po4a/net/po/ja.po
po4a/process/po/ja.po
po4a/pthread/po/ja.po
po4a/pwdgrp/po/ja.po
po4a/unistd/po/ja.po
stats/epoll
stats/filesystem
stats/net
stats/process
stats/pthread
stats/pwdgrp
stats/unistd
untrans.html

index fcf3683..0e70443 100644 (file)
@@ -79,18 +79,21 @@ dup, dup2, dup3 \- ファイルディスクリプタを複製する
 2つのディスクリプタはファイルディスクリプタフラグ (close\-on\-exec flag)  を共有しない。複製されたディスクリプタの
 close\-on\-exec flag (\fBfcntl\fP(2)  参照) は off となる。
 .SS dup2()
-The \fBdup2\fP()  system call performs the same task as \fBdup\fP(), but instead
-of using the lowest\-numbered unused file descriptor, it uses the descriptor
-number specified in \fInewfd\fP.  If the descriptor \fInewfd\fP was previously
-open, it is silently closed before being reused.
+\fBdup2\fP() システムコールは \fBdup\fP() と同じ処理を実行するが、
+番号が最も小さい未使用のファイルディスクリプタを使用する代わりに、
+\fInewfd\fP で指定されたディスクリプタ番号を使用する。
+ディスクリプタ \fInewfd\fP が以前にオープンされていた場合には、
+黙ってそのディスクリプタをクローズしてから再利用する。
 
-The steps of closing and reusing the file descriptor \fInewfd\fP are performed
-\fIatomically\fP.  This is important, because trying to implement equivalent
-functionality using \fBclose\fP(2)  and \fBdup\fP()  would be subject to race
-conditions, whereby \fInewfd\fP might be reused between the two steps.  Such
-reuse could happen because the main program is interrupted by a signal
-handler that allocates a file descriptor, or because a parallel thread
-allocates a file descriptor.
+ファイルディスクリプタ \fInewfd\fP をクローズして再利用する処理は
+\fIアトミック(不可分)に\fP実行される。これは重要な点である。 なぜなら、
+等価な機能を \fBclose\fP(2) と \fBdup\fP() を使って実装しようとすると、
+2 つの処理の間に \fInewfd\fP が再利用されてしまうという、
+競合状態にさらされることになるからだ。
+このような再利用が起こるのは、
+メインプログラムがファイルディスクリプタを割り当てる
+シグナルハンドラーにより割り込まれたり、並行動作するスレッドが
+ファイルディスクリプタを割り当てたりすることがあるからだ。
 
 以下の点について注意すること:
 .IP * 3
@@ -141,35 +144,37 @@ allocates a file descriptor.
 \fInewfd\fP が範囲を超えた時に返されるエラーは、 \fBdup2\fP()  と \fBfcntl(\fP..., \fBF_DUPFD\fP, ...\fB)\fP
 では異っている。 \fBdup2\fP()  が \fBF_DUPFD\fP と同じように \fBEINVAL\fP を返すシステムもある。
 
-If \fInewfd\fP was open, any errors that would have been reported at
-\fBclose\fP(2)  time are lost.  If this is of concern, then\(emunless the
-program is single\-threaded and does not allocate file descriptors in signal
-handlers\(emthe correct approach is \fInot\fP to close \fInewfd\fP before calling
-\fBdup2\fP(), because of the race condition described above.  Instead, code
-something like the following could be used:
+\fInewfd\fP がオープンされていた場合、
+\fBclose\fP(2) 時に報告されることになるエラーはすべて失われる。
+これが心配で、シングルスレッドかつシグナルハンドラーで
+ファイルディスクリプタを割り当てるようなプログラムでない場合には、
+正しい方法は \fBdup2\fP() を呼び出す前に
+\fInewfd\fP をクローズ「しない」ことである。
+なぜなら、上で説明した競合状況があるからである。
+代わりに、以下のようなコードが使用できることだろう。
 
 .nf
-    /* Obtain a duplicate of 'newfd' that can subsequently
-       be used to check for close() errors; an EBADF error
-       means that 'newfd' was not open. */
+    /* あとで close() エラーをチェックするのに使用できる
+       ように 'newfd' の複製を取得する。 EBADF エラーは
+       'newfd' がオープンされていないことを意味する。 */
 
     tmpfd = dup(newfd);
     if (tmpfd == \-1 && errno != EBADF) {
-        /* Handle unexpected dup() error */
+        /* 予期しない dup() のエラーを処理する */
     }
 
-    /* Atomically duplicate 'oldfd' on 'newfd' */
+    /* アトミックに 'oldfd' を 'newfd' に複製する */
 
     if (dup2(oldfd, newfd) == \-1) {
-        /* Handle dup2() error */
+        /* dup2() のエラーを処理する */
     }
 
-    /* Now check for close() errors on the file originally
-       referred to by 'newfd' */
+    /* ここでもともと 'newfd' で参照されていたファイルの
+       close() エラーをチェックする */
 
     if (tmpfd != \-1) {
         if (close(tmpfd) == \-1) {
-            /* Handle errors from close */
+            /* close からのエラーを処理する */
         }
     }
 .fi
index 35542ac..f37e0a7 100644 (file)
@@ -114,15 +114,12 @@ distribution architectures) についての詳細な情報は、 \fBepoll\fP(7)
 .TP 
 \fBEPOLLWAKEUP\fP (Linux 3.5 以降)
 .\" commit 4d7e30d98939a0340022ccd49325a3d70f7e0238
-If \fBEPOLLONESHOT\fP and \fBEPOLLET\fP are clear and the process has the
-\fBCAP_BLOCK_SUSPEND\fP capability, ensure that the system does not enter
-"suspend" or "hibernate" while this event is pending or being processed.
-The event is considered as being "processed" from the time when it is
-returned by a call to \fBepoll_wait\fP(2)  until the next call to
-\fBepoll_wait\fP(2)  on the same \fBepoll\fP(7)  file descriptor, the closure of
-that file descriptor, the removal of the event file descriptor with
-\fBEPOLL_CTL_DEL\fP, or the clearing of \fBEPOLLWAKEUP\fP for the event file
-descriptor with \fBEPOLL_CTL_MOD\fP.  See also BUGS.
+\fBEPOLLONESHOT\fP と \fBEPOLLET\fP がクリアされており、 プロセスが \fBCAP_BLOCK_SUSPEND\fP
+ケーパビリティを持っている場合、 イベントが処理待ちか処理中かにかかわらず、必ずシステムが "suspend" や "hibernate"
+に入らないようにすること。 \fBepoll_wait\fP(2) の呼び出しが返った時点から、 同じ \fBepoll\fP(7) ファイルディスクリプタに対して
+\fBepoll_wait\fP(2) が次に呼び出されるか、 そのファイルディスクリプタが閉じられるか、 イベントファイルディスクリプタが
+\fBEPOLL_CTL_DEL\fP で削除されるか、 \fBEPOLL_CTL_MOD\fP でイベントファイルディスクリプタの \fBEPOLLWAKEUP\fP
+がクリアされるか、 のいずれかになるまで、イベントは「処理中」であるとみなされる。 「バグ」の節も参照のこと。
 .SH 返り値
 成功した場合、 \fBepoll_ctl\fP()  は 0 を返す。 エラーが起こった場合、 \fBepoll_ctl\fP()  は \-1 を返し、
 \fIerrno\fP を適切に設定する。
@@ -151,8 +148,8 @@ epoll インスタンスに新しいファイルディスクリプタを登録 (
 \fI/proc/sys/fs/epoll/max_user_watches\fP で決まる上限に達した。 詳細は \fBepoll\fP(7)  を参照。
 .TP 
 \fBEPERM\fP
-The target file \fIfd\fP does not support \fBepoll\fP.  This error can occur if
-\fIfd\fP refers to, for example, a regular file or a directory.
+対象ファイル \fIfd\fP が \fBepoll\fP に対応していない。 このエラーは \fIfd\fP
+が例えば通常ファイルやディレクトリを参照している場合にも起こり得る。
 .SH バージョン
 .\" To be precise: kernel 2.5.44.
 .\" The interface should be finalized by Linux kernel 2.5.66.
@@ -170,16 +167,13 @@ NULL を指定できるようになっている。 2.6.9 より前のカーネ
 
 .\" commit a8159414d7e3af7233e7a5a82d1c5d85379bd75c (behavior change)
 .\" https://lwn.net/Articles/520198/
-If \fBEPOLLWAKEUP\fP is specified in \fIflags\fP, but the caller does not have the
-\fBCAP_BLOCK_SUSPEND\fP capability, then the \fBEPOLLWAKEUP\fP flag is \fIsilently
-ignored\fP.  This unfortunate behavior is necessary because no validity checks
-were performed on the \fIflags\fP argument in the original implementation, and
-the addition of the \fBEPOLLWAKEUP\fP with a check that caused the call to fail
-if the caller did not have the \fBCAP_BLOCK_SUSPEND\fP capability caused a
-breakage in at least one existing user\-space application that happened to
-randomly (and uselessly) specify this bit.  A robust application should
-therefore double check that it has the \fBCAP_BLOCK_SUSPEND\fP capability if
-attempting to use the \fBEPOLLWAKEUP\fP flag.
+\fIflags\fP に \fBEPOLLWAKEUP\fP が指定されたが、呼び出し元が \fBCAP_BLOCK_SUSPEND\fP
+ケーパビリティを持っていない場合、 \fBEPOLLWAKEUP\fP フラグは \fI黙って無視される\fP。 元の実装では \fIflags\fP
+引き数に対する正当性チェックが実行されていないため、 この残念な動作は必要である。 また、 呼び出し元が \fBCAP_BLOCK_SUSPEND\fP
+ケーパビリティを持っていなかった場合に呼び出しを失敗させるようにチェックを \fBEPOLLWAKEUP\fP に追加すると、
+少なくともひとつは動かなくなる既存のユーザー空間アプリケーションがあった。 そのアプリケーションはたまたま (しかも意味もなく)
+このビットを指定していた。 したがって、信頼性が求められるアプリケーションでは、 \fBEPOLLWAKEUP\fP フラグを使おうする場合には
+\fBCAP_BLOCK_SUSPEND\fP ケーパビリティを持っているかも確認するようにすべきである。
 .SH 関連項目
 \fBepoll_create\fP(2), \fBepoll_wait\fP(2), \fBpoll\fP(2), \fBepoll\fP(7)
 .SH この文書について
index abccefc..3e3bff9 100644 (file)
@@ -122,8 +122,8 @@ struct pollfd {
 データを受信した場合や、 パケットモードの擬似端末のマスタがスレーブ側の変化を見つけたとき)。
 .TP 
 \fBPOLLOUT\fP
-Writing is now possible, though a write larger that the available space in a
-socket or pipe will still block (unless \fBO_NONBLOCK\fP is set).
+書き込みが可能になった。ただし、ソケットやパイプで利用可能な空間よりも大きなデータを書き込んだ場合には (\fBO_NONBLOCK\fP
+がセットされている場合以外は) やはり停止することになる。
 .TP 
 \fBPOLLRDHUP\fP (Linux 2.6.17 以降)
 ストリームソケットの他端が、コネクションを close したか、 コネクションの書き込み側を shutdown した。 この定義を有効にするには、
@@ -240,10 +240,9 @@ Linux の \fBppoll\fP()  システムコールは \fItimeout_ts\fP 引き数を
 のラッパー関数は、システムコールに渡す timeout 引き数 としてローカル変数を使うことでこの動作を隠蔽している。 このため、glibc の
 \fBppoll\fP()  関数では \fItimeout_ts\fP 引き数は変更されない。
 
-The raw \fBppoll\fP()  system call has a fifth argument, \fIsize_t sigsetsize\fP,
-which specifies the size in bytes of the \fIsigmask\fP argument.  The glibc
-\fBppoll\fP()  wrapper function specifies this argument as a fixed value (equal
-to \fIsizeof(sigset_t)\fP).
+素の \fBppoll\fP() システムコールは 5 番目の引き数 \fIsize_t sigsetsize\fP をとる。 この引き数は \fIsigmask\fP
+引き数のバイト単位のサイズを指定する。 glibc の \fBppoll\fP() ラッパー関数は、この引き数に固定値
+(\fIsizeof(sigset_t)\fP と同じ) を指定する。
 .SH バグ
 \fBselect\fP(2)  の「バグ」の節に書かれている、誤った準備完了通知 (spurious readiness notifications)
 についての議論を参照のこと。
index dbc65e5..f741063 100644 (file)
@@ -154,8 +154,8 @@ struct statfs {
 .fi
 .in
 .PP
-Most of these MAGIC constants are defined in \fI/usr/include/linux/magic.h\fP
-some are hardcoded in kernel sources.
+これらの MAGIC 定数のほとんどは \fI/usr/include/linux/magic.h\fP
+で定義されており、いくつかはカーネルソースで直接書かれている。
 .PP
 \fIf_fsid\fP にどんな値が入るべきなのかは誰も知らない (但し、下記を参照)。
 .PP
@@ -237,8 +237,8 @@ statfs\fP を返す (\fI<sys/vfs.h>\fP で定義されている)。 この構造
 .SH バグ
 .\" broken in commit ff0c7d15f9787b7e8c601533c015295cc68329f8
 .\" fixed in commit d70ef97baf048412c395bb5d65791d8fe133a52b
-From Linux 2.6.38 up to and including Linux 3.1, \fBfstatfs\fP()  failed with
-the error \fBENOSYS\fP for file descriptors created by \fBpipe\fP(2).
+Linux 2.6.38 から Linux 3.1 までは (3.1 を含む)、 \fBfstatfs\fP() は \fBpipe\fP(2)
+で作成されたファイルディスクリプタに対してはエラー \fBENOSYS\fP で失敗していた。
 .SH 関連項目
 \fBstat\fP(2), \fBstatvfs\fP(2), \fBpath_resolution\fP(7)
 .SH この文書について
index 95dd908..976ea2b 100644 (file)
@@ -98,7 +98,7 @@ struct ether_addr {
 .fi
 .in
 .SH 属性
-For an explanation of the terms used in this section, see \fBattributes\fP(7).
+この節で使用されている用語の説明は \fBattributes\fP(7) を参照のこと。
 .ad l
 .TS
 allbox;
index ad2034f..ba2cac7 100644 (file)
@@ -141,10 +141,9 @@ ftw, nftw \- ファイルツリーを歩きまわる
 .RE
 .TP 
 \fBFTW_CHDIR\fP
-If set, do a \fBchdir\fP(2)  to each directory before handling its contents.
-This is useful if the program needs to perform some action in the directory
-in which \fIfpath\fP resides.  (Specifying this flag has no effect on the
-pathname that is passed in the \fIfpath\fP argument of \fIfn\fP.)
+セットされると、ディレクトリの内容を処理する前に そのディレクトリに \fBchdir\fP(2)  する。このフラグは、 \fIfpath\fP
+が属すディレクトリで何らかの動作を実行する必要がある場合に 便利である。
+(このフラグを指定しても \fIfn\fP の \fIfpath\fP 引き数で渡されるパス名には影響しない。)
 .TP 
 \fBFTW_DEPTH\fP
 セットされると、帰りがけ順探索 (post\-order traversal) を行う。 つまり、ディレクトリそのものを引き数とした \fIfn\fP()
index 412e96b..87f4bba 100644 (file)
@@ -108,9 +108,8 @@ struct group {
 .SH エラー
 .TP 
 \fBEAGAIN\fP
-The service was temporarily unavailable; try again later.  For NSS backends
-in glibc this indicates a temporary error talking to the backend.  The error
-may correct itself, retrying later is suggested.
+サービスが一時的に利用できなかったこと。あとでもう一度試してほしい。 NSS バックエンドの場合、glibc
+では、バックエンドとの通信中に一時的なエラーが発生したことを示す。 このエラーは直るかもしれないので、あとでもう一度試すよう提案している。
 .TP 
 \fBEINTR\fP
 シグナルが捕捉された。
@@ -126,8 +125,7 @@ I/O エラー。
 .TP 
 .\" not in POSIX
 \fBENOENT\fP
-A necessary input file cannot be found.  For NSS backends in glibc this
-indicates the backend is not correctly configured.
+必要な入力ファイルが見つからなかった。 NSS バックエンドの場合、glibc では、このエラーはバックエンドが正しく設定されていないことを示す。
 .TP 
 \fBENOMEM\fP
 .\" not in POSIX
index 8e2878f..7ff9b59 100644 (file)
@@ -158,8 +158,7 @@ glibc 2.8 以降では、機能検査マクロ \fB_BSD_SOURCE\fP, \fB_SVID_SOURC
 前者は、最近のバージョンの BIND のヘッダファイル \fI<arpa/nameser.h>\fP 中の定数 \fBMAXDNAME\fP
 と同じ値である。 後者は、割り当て済の数値について記した現在の RFC に 列挙されてサービスから推量した値である。
 
-Before glibc version 2.2, the \fIhostlen\fP and \fIservlen\fP arguments were typed
-as \fIsize_t\fP.
+glibc バージョン 2.2 より前では、 引き数 \fIhostlen\fP, \fIservlen\fP の型は \fIsize_t\fP であった。
 .SH 例
 以下のコードは、指定されたソケットアドレスに対する ホストとサービスの数値表式を取得しようと試みる。 特定のアドレスファミリーに対する参照情報は
 一切ハードコードされていないことに着目してほしい。
diff --git a/draft/man3/isfdtype.3 b/draft/man3/isfdtype.3
new file mode 100644 (file)
index 0000000..5607871
--- /dev/null
@@ -0,0 +1,79 @@
+.\" t
+.\" Copyright (C) 2014 Michael Kerrisk <mtk.manpages@gmail.com>
+.\"
+.\" %%%LICENSE_START(VERBATIM)
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date.  The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein.  The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH ISFDTYPE 3 2014\-03\-13 Linux "Linux Programmer's Manual"
+.SH 名前
+isfdtype \- ファイルディスクリプタのファイル種別を検査する
+.SH 書式
+.nf
+\fB#include <sys/stat.h>\fP
+\fB#include <sys/socket.h>\fP
+
+\fBint isfdtype(int \fP\fIfd\fP\fB, int \fP\fIfdtype\fP\fB);\fP
+.fi
+.sp
+.in -4n
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
+.in
+.sp
+\fBisfdtype\fP():
+.ad l
+.RS 4
+.PD 0
+.TP  4
+glibc 2.20 以降:
+_DEFAULT_SOURCE
+.TP  4
+glibc 2.20 より前:
+_BSD_SOURCE || _SVID_SOURCE
+.PD
+.RE
+.ad b
+.SH 説明
+\fBisfdtype\fP() 関数はファイルディスクリプタ \fIfd\fP がタイプが \fIfdtype\fP のファイルを参照しているかを検査する。
+\fIfdtype\fP 引き数には、\fI<sys/stat.h>\fP で定義されている \fBS_IF*\fP 定数のひとつ (\fBS_IFREG\fP
+など) を指定する。 \fBS_IF*\fP 定数の説明は \fBstat\fP(2) にある。
+.SH 返り値
+\fBisfdtype\fP() 関数は、ファイルディスクリプタ \fIfd\fP がタイプ \fIfdtype\fP であった場合に 1 を返し、そうでない場合に 0
+を返す。 エラーの場合、 \-1 を返し、\fIerrno\fP に原因を示す値を設定する。
+.SH エラー
+\fBisfdtype\fP() 関数は \fBfstat\fP(3) と同じエラーで失敗する。
+.SH 準拠
+\fBisfdtype\fP() 関数はどの標準でも規定されていないが、 POSIX.1g 標準のドラフトに登場したことはある。 OpenBSD と
+Tru64 UNIX に存在し、おそらく他のシステムにも存在する (OpenBSD と Tru64 UNIX のどちらの場合でも必要なヘッダーファイルは
+\fI<sys/stat.h>\fP だけであり、POSIX.1g ドラフトに書かれていたのと同じである)。
+.SH 注意
+移植性が求められるアプリケーションでは \fBfstat\fP(3) を使用すべきである。
+.SH 関連項目
+\fBfstat\fP(3)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.76 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。
diff --git a/draft/man3/pthread_rwlockattr_setkind_np.3 b/draft/man3/pthread_rwlockattr_setkind_np.3
new file mode 100644 (file)
index 0000000..92e1145
--- /dev/null
@@ -0,0 +1,100 @@
+.\"Copyright (c) 2010 Novell Inc., written by Robert Schweikert
+.\"
+.\" %%%LICENSE_START(VERBATIM)
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbat`im copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date.  The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein.  The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH PTHREAD_RWLOCKATTR_SETKIND_NP 3 2014\-10\-15 "Linux Programmer's Manual" 
+.SH 名前
+pthread_rwlockattr_setkind_np, pthread_rwlockattr_getkind_np \-
+スレッドの読み書きロック属性オブジェクトの読み書きロック種別の設定、取得を行う
+.SH 書式
+.nf
+\fB#include <pthread.h>\fP
+
+\fBint pthread_rwlockattr_setkind_np(pthread_rwlockattr_t *\fP\fIattr\fP\fB,\fP
+\fB                                   int \fP\fIpref\fP\fB);\fP
+\fBint pthread_rwlockattr_getkind_np(const pthread_rwlockattr_t *\fP\fIattr\fP\fB,\fP
+\fB                                   int *\fP\fIpref\fP\fB);\fP
+.sp
+\fI\-pthread\fP でコンパイルしてリンクする。
+.sp
+.fi
+.in -4n
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
+.in
+.sp
+\fBpthread_rwlockattr_setkind_np\fP(), \fBpthread_rwlockattr_getkind_np\fP():
+.br
+.RS 4
+.ad l
+_XOPEN_SOURCE\ >=\ 500 || _POSIX_C_SOURCE >= 200809L
+.RE
+.ad
+.SH 説明
+\fBpthread_rwlockattr_setkind_np\fP() 関数は、 \fIattr\fP が参照する読み書きロック属性オブジェクトの「ロック種別
+(lock kind)」を \fIpref\fP で指定された値に設定する。 引き数 \fIpref\fP には以下のいずれか一つを設定できる。
+.TP 
+\fBPTHREAD_RWLOCK_PREFER_READER_NP\fP
+これがデフォルトである。 スレッドは複数の読み出しロックを保持できる。 つまり、読み出しロックは再帰的である。 Single Unix
+Specification では、 読み出し側がロックをかけようとした際に、書き込みロックはないが書き込み側が待っていた場合の、動作は規定されていない。
+\fBPTHREAD_RWLOCK_PREFER_READER_NP\fP に設定し、読み出し側に優先度を与えるということは、
+たとえ書き込み側が待っていたとしても、読み出し側が要求したロックを受け取ることを意味する。 読み出し側がいる限り、書き込み側は待つことになる。
+.TP 
+\fBPTHREAD_RWLOCK_PREFER_WRITER_NP\fP
+これは \fBPTHREAD_RWLOCK_PREFER_READER_NP\fP の書き込みロック版である。 ただし「バグ」を参照のこと。
+.TP 
+\fBPTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP\fP
+ロック種別をこの値に設定すると、 読み出しロックが再帰的に行われない限りは、 書き込み側の待ちを避けることができる。
+.PP
+\fBpthread_rwlockattr_getkind_np\fP() 関数は、 \fIattr\fP
+が参照する読み書きロック属性オブジェクトのロック種別属性の値をポインター \fIpref\fP に入れて返す。
+.SH 返り値
+成功すると、これらの関数は 0 を返す。 有効なポインター引き数が渡された場合、 \fBpthread_rwlockattr_getkind_np\fP()
+は常に成功する。 エラーの場合、 \fBpthread_rwlockattr_setkind_np\fP() は 0 以外のエラー番号を返す。
+.SH エラー
+.TP 
+\fBEINVAL\fP
+\fIpref\fP にサポート外の値が指定された。
+.SH バグ
+.\" http://sourceware.org/bugzilla/show_bug.cgi?id=7057
+読み書きロック種別の値を \fBPTHREAD_RWLOCK_PREFER_WRITER_NP\fP に設定することは、 値を
+\fBPTHREAD_RWLOCK_PREFER_READER_NP\fP に設定するのと同じ動作となる。
+読み出しスレッドがロックを保持する限り、書き込みロックを保持しているスレッドは停止することになる。 ロック種別を
+\fBPTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP\fP に設定すると、
+書き込み側が動作できるようになるが、変数名から分かるように、 書き込み側はロックを再帰的に行うことはできない。
+.SH バージョン
+関数 \fBpthread_rwlockattr_getkind_np\fP() と \fBpthread_rwlockattr_setkind_np\fP() は
+glibc 2.1 で初めて登場した。
+.SH 準拠
+これらの関数は非標準の GNU による拡張である。 そのため、名前に "_np" (non\-portable; 移植性がない)
+という接尾辞が付いている。
+.SH 関連項目
+\fBpthreads\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.76 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。
index b7671ca..98e4a16 100644 (file)
@@ -182,12 +182,10 @@ glibc は IPv6 と IPv4 の検索を順番に実行するようになる
 番目の検索要求を送信する前にソケットをクローズし 新しいソケットをオープンするようになる。
 .TP 
 \fBno\-tld\-query\fP (glibc 2.14 以降)
-sets RES_NOTLDQUERY in \fI_res.options\fP.  This option causes \fBres_nsearch()\fP
-to not attempt to resolve an unqualified name as if it were a top level
-domain (TLD).  This option can cause problems if the site has \*(lqlocalhost\*(rq
-as a TLD rather than having localhost on one or more elements of the search
-list.  This option has no effect if neither RES_DEFNAMES or RES_DNSRCH is
-set.
+RES_NOTLDQUERY を \fI_res.options\fP にセットする。 このオプションを設定すると、 \fBres_nsearch\fP()
+が完全なドメイン名ではない名前のトップレベルドメイン (TLD) としての検索を行わなくなる。 これにより、localhost
+に検索リストの要素をつけるのではなく、\*(lqlocalhost\*(rq を TLD として設定しているようなサイトでは問題が起こる可能性がある。
+RES_DEFNAMES も RES_DNSRCH もセットされていない場合には、このオプションは効果はない。
 .RE
 .LP
 \fIdomain\fP と \fIsearch\fP キーワードは、互いに排他的である。 これらのキーワードが 2 つ以上記述されている場合、
index 947022d..56cb4f3 100644 (file)
@@ -103,19 +103,17 @@ epoll \- I/O イベント通知機能
 によるイベントを受信した後で、関連するファイルディスクリプタを無効にさせる。 \fBEPOLLONESHOT\fP フラグが指定された場合、
 \fBepoll_ctl\fP(2)  に \fBEPOLL_CTL_MOD\fP を指定してファイルディスクリプタを再度使用できるようにするのは、
 呼び出し側の責任である。
-.SS "Interaction with autosleep"
-If the system is in \fBautosleep\fP mode via \fI/sys/power/autosleep\fP and an
-event happens which wakes the device from sleep, the device driver will only
-keep the device awake until that event is queued.  To keep the device awake
-until the event has been processed, it is necessary to use the \fBepoll\fP(7)
-\fBEPOLLWAKEUP\fP flag.
+.SS "autosleep との関係"
+システムが \fI/sys/power/autosleep\fP 経由で \fBautosleep\fP モードになっていて、
+デバイスをスリープ状態から起こすイベントが発生した場合、
+そのイベントがキューに入るまでは、デバイスドライバーはデバイスを起こしたままにしておくだけである。
+イベントが処理されるまでデバイスを起こしたままにしておくには、 \fBepoll\fP(7) \fBEPOLLWAKEUP\fP フラグを使う必要がある。
 
-When the \fBEPOLLWAKEUP\fP flag is set in the \fBevents\fP field for a \fIstruct
-epoll_event\fP, the system will be kept awake from the moment the event is
-queued, through the \fBepoll_wait\fP(2)  call which returns the event until the
-subsequent \fBepoll_wait\fP(2)  call.  If the event should keep the system
-awake beyond that time, then a separate \fIwake_lock\fP should be taken before
-the second \fBepoll_wait\fP(2)  call.
+\fBEPOLLWAKEUP\fP フラグが \fIstruct epoll_event\fP の \fBevents\fP フィールドでセットされた場合、
+イベントがキューに入った瞬間から、\fBepoll_wait\fP(2) がそのイベントを返し次の \fBepoll_wait\fP(2)
+の呼び出しが行われるまでの間、システムは起きたままの状態になる。
+イベントが上記の時間の範囲を超えてシステムを起きたままの状態にしておく必要がある場合は、 2 番目の \fBepoll_wait\fP(2)
+の呼び出しの前に別の \fIwake_lock\fP を取る必要がある。
 .SS "/proc インタフェース"
 .\" Following was added in 2.6.28, but them removed in 2.6.29
 .\" .TP
index 5705ab7..e98ce7b 100644 (file)
@@ -589,24 +589,22 @@ IP forwarding を有効にするかどうかのブール値フラグ。 IP forwa
 .TP 
 \fIip_local_port_range\fP (Linux 2.2 以降)
 .\" Precisely: since 2.1.68
-This file contains two integers that define the default local port range
-allocated to sockets that are not explicitly bound to a port number\(emthat
-is, the range used for \fIephemeral ports\fP.  An ephemeral port is allocated
-to a socket in the following circumstances:
+このファイルには、 ポート番号に明示的にバインドされないソケットに割り当てられるデフォルトのローカルポートの範囲 \(em つまり「一時ポート
+(\fIephemeral ports\fP)」に使用される範囲 \(em を定める 2 つの整数が入っている。
+一時ポートは以下の場合にソケットに割り当てられる。
 .RS
 .IP * 3
-the port number in a socket address is specified as 0 when calling
-\fBbind\fP(2);
+\fBbind\fP(2) の呼び出し時にソケットアドレスのポート番号に 0 が指定されている。
 .IP *
-\fBlisten\fP(2)  is called on a stream socket that was not previously bound;
+バインドされていないストリームソケットに対して \fBlisten\fP(2) が呼び出された。
 .IP *
 バインドされていないソケットに対して \fBconnect\fP(2)  が呼ばれた。
 .IP *
 バインドされていないデータグラムソケットに対して \fBsendto\fP(2)  が呼ばれた。
 .RE
 .IP
-一時ポート (ephemeral port) に割り当てられるポート番号の範囲は、 \fIip_local_port_range\fP
-の最初の数字から始まり、 2 番目の数字で終わる。 一時ポートの範囲を使い切った場合、 関連するシステムコールはエラーを返す (バグの節を参照)。
+一時ポートに割り当てられるポート番号の範囲は、 \fIip_local_port_range\fP の最初の数字から始まり、 2 番目の数字で終わる。
+一時ポートの範囲を使い切った場合、 関連するシステムコールはエラーを返す (バグの節を参照)。
 .IP
 .\"
 \fIip_local_port_range\fP で指定するポート番号の範囲は、 マスカレードで用いられているポートと重なってはならない
@@ -760,9 +758,8 @@ Linux 2.0 との互換性のために、 obsolete な \fBsocket(AF_INET, SOCK_PA
 .SH バグ
 エラーの値がまったく首尾一貫していない。
 .PP
-The error used to diagnose exhaustion of the ephemeral port range differs
-across the various system calls (\fBconnect\fP(2), \fBbind\fP(2), \fBlisten\fP(2),
-\fBsendto\fP(2))  that can assign ephemeral ports.
+一時ポートの範囲の枯渇を示すのに使われるエラーは、 一時ポートの割り当てを行えるシステムコール (\fBconnect\fP(2), \fBbind\fP(2),
+\fBlisten\fP(2), \fBsendto\fP(2)) により異なる。
 .PP
 .\" .PP
 .\" Some versions of glibc forget to declare
index 0b444db..8847d02 100644 (file)
@@ -187,15 +187,13 @@ struct tpacket_auxdata {
 元のファンアウトアルゴリズムが backlog ソケットを選択していれば、 パケットは次の利用可能なソケットにロールオーバーされる。
 .TP 
 \fBPACKET_LOSS\fP (\fBPACKET_TX_RING\fP で使用)
-When a malformed packet is encountered on a transmit ring, the default is to
-reset its \fItp_status\fP to \fBTP_STATUS_WRONG_FORMAT\fP and abort the
-transmission immediately.  The malformed packet blocks itself and
-subsequently enqueued packets from being sent.  The format error must be
-fixed, the associated \fItp_status\fP reset to \fBTP_STATUS_SEND_REQUEST\fP, and
-the transmission process restarted via \fBsend\fP(2).  However, if
-\fBPACKET_LOSS\fP is set, any malformed packet will be skipped, its
-\fItp_status\fP reset to \fBTP_STATUS_AVAILABLE\fP, and the transmission process
-continued.
+送信リングで不正な形式のパケットに遭遇した場合、 デフォルトではそのリングの \fItp_status\fP を
+\fBTP_STATUS_WRONG_FORMAT\fP に戻し、その送信を直ちに中止する。
+不正な形式のパケットにより、そのパケット自身とその以降にキューに入れられたパケットの送信がブロックされる。形式エラーを修正し、関連する
+\fItp_status\fP を \fBTP_STATUS_SEND_REQUEST\fP に設定し直し、\fBsend\fP(2)
+を使って送信処理を再開しなければならない。 しかしながら、 \fBPACKET_LOSS\fP がセットされている場合、
+不正な形式のパケットはすべてスキップされ、 その送信リングの \fItp_status\fP は \fBTP_STATUS_AVAILABLE\fP
+に設定し直され、送信処理は継続される。
 .TP 
 \fBPACKET_RESERVE\fP (\fBPACKET_RX_RING\fP で使用)
 デフォルトでは、パケット受信リングはメタデータ構造体とアライメント用のパディングの直後にパケットを書き込む。
@@ -377,10 +375,10 @@ IEEE 802.2/803.3 の LLC の扱い方は、バグと考えても良いだろう
 
 物理層のプロトコルに関する記述は \fI<linux/if_ether.h>\fP インクルードファイルにある。
 
-The Linux kernel source tree.  \fI/Documentation/networking/filter.txt\fP
-describes how to apply Berkeley Packet Filters to packet sockets.
-\fI/tools/testing/selftests/net/psock_tpacket.c\fP contains example source code
-for all available versions of \fBPACKET_RX_RING\fP and \fBPACKET_TX_RING\fP.
+Linux カーネルのソースツリー。 \fI/Documentation/networking/filter.txt\fP には Berkeley
+Packet Filters をパケットソケットにどのように適用するかの説明がある。
+\fI/tools/testing/selftests/net/psock_tpacket.c\fP には、 \fBPACKET_RX_RING\fP と
+\fBPACKET_TX_RING\fP の利用可能なすべてのバージョンのサンプルソースコードがある。
 .SH この文書について
 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.76 の一部
 である。プロジェクトの説明とバグ報告に関する情報は
index 016c9fc..0496b71 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "POT-Creation-Date: 2015-01-04 23:48+0900\n"
-"PO-Revision-Date: 2015-01-05 03:22+0900\n"
+"PO-Revision-Date: 2015-01-05 09:32+0900\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -321,7 +321,7 @@ msgstr ""
 #: build/C/man7/epoll.7:176
 #, no-wrap
 msgid "Interaction with autosleep"
-msgstr ""
+msgstr "autosleep との関係"
 
 #. type: Plain text
 #: build/C/man7/epoll.7:188
@@ -331,7 +331,7 @@ msgid ""
 "keep the device awake until that event is queued.  To keep the device awake "
 "until the event has been processed, it is necessary to use the B<epoll>(7)  "
 "B<EPOLLWAKEUP> flag."
-msgstr ""
+msgstr "システムが I</sys/power/autosleep> 経由で B<autosleep> モードになっていて、 デバイスをスリープ状態から起こすイベントが発生した場合、 そのイベントがキューに入るまでは、デバイスドライバーはデバイスを起こしたままにしておくだけである。 イベントが処理されるまでデバイスを起こしたままにしておくには、 B<epoll>(7) B<EPOLLWAKEUP> フラグを使う必要がある。"
 
 #. type: Plain text
 #: build/C/man7/epoll.7:207
@@ -342,7 +342,7 @@ msgid ""
 "subsequent B<epoll_wait>(2)  call.  If the event should keep the system "
 "awake beyond that time, then a separate I<wake_lock> should be taken before "
 "the second B<epoll_wait>(2)  call."
-msgstr ""
+msgstr "B<EPOLLWAKEUP> フラグが I<struct epoll_event> の B<events> フィールドでセットされた場合、 イベントがキューに入った瞬間から、B<epoll_wait>(2) がそのイベントを返し次の B<epoll_wait>(2) の呼び出しが行われるまでの間、システムは起きたままの状態になる。 イベントが上記の時間の範囲を超えてシステムを起きたままの状態にしておく必要がある場合は、 2 番目の B<epoll_wait>(2) の呼び出しの前に別の I<wake_lock> を取る必要がある。"
 
 #. type: SS
 #: build/C/man7/epoll.7:207
@@ -1624,7 +1624,7 @@ msgid ""
 "that file descriptor, the removal of the event file descriptor with "
 "B<EPOLL_CTL_DEL>, or the clearing of B<EPOLLWAKEUP> for the event file "
 "descriptor with B<EPOLL_CTL_MOD>.  See also BUGS."
-msgstr ""
+msgstr "B<EPOLLONESHOT> と B<EPOLLET> がクリアされており、 プロセスが B<CAP_BLOCK_SUSPEND> ケーパビリティを持っている場合、 イベントが処理待ちか処理中かにかかわらず、必ずシステムが \"suspend\" や \"hibernate\" に入らないようにすること。 B<epoll_wait>(2) の呼び出しが返った時点から、 同じ B<epoll>(7) ファイルディスクリプタに対して B<epoll_wait>(2) が次に呼び出されるか、 そのファイルディスクリプタが閉じられるか、 イベントファイルディスクリプタが B<EPOLL_CTL_DEL> で削除されるか、 B<EPOLL_CTL_MOD> でイベントファイルディスクリプタの B<EPOLLWAKEUP> がクリアされるか、 のいずれかになるまで、イベントは「処理中」であるとみなされる。 「バグ」の節も参照のこと。"
 
 #. type: Plain text
 #: build/C/man2/epoll_ctl.2:194
@@ -1721,7 +1721,7 @@ msgstr "B<EPERM>"
 msgid ""
 "The target file I<fd> does not support B<epoll>.  This error can occur if "
 "I<fd> refers to, for example, a regular file or a directory."
-msgstr ""
+msgstr "対象ファイル I<fd> が B<epoll> に対応していない。 このエラーは I<fd> が例えば通常ファイルやディレクトリを参照している場合にも起こり得る。"
 
 #.  To be precise: kernel 2.5.44.
 #.  The interface should be finalized by Linux kernel 2.5.66.
@@ -1784,7 +1784,7 @@ msgid ""
 "randomly (and uselessly) specify this bit.  A robust application should "
 "therefore double check that it has the B<CAP_BLOCK_SUSPEND> capability if "
 "attempting to use the B<EPOLLWAKEUP> flag."
-msgstr ""
+msgstr "I<flags> に B<EPOLLWAKEUP> が指定されたが、呼び出し元が B<CAP_BLOCK_SUSPEND> ケーパビリティを持っていない場合、 B<EPOLLWAKEUP> フラグは I<黙って無視される>。 元の実装では I<flags> 引き数に対する正当性チェックが実行されていないため、 この残念な動作は必要である。 また、 呼び出し元が B<CAP_BLOCK_SUSPEND> ケーパビリティを持っていなかった場合に呼び出しを失敗させるようにチェックを B<EPOLLWAKEUP> に追加すると、 少なくともひとつは動かなくなる既存のユーザー空間アプリケーションがあった。 そのアプリケーションはたまたま (しかも意味もなく) このビットを指定していた。 したがって、信頼性が求められるアプリケーションでは、 B<EPOLLWAKEUP> フラグを使おうする場合には B<CAP_BLOCK_SUSPEND> ケーパビリティを持っているかも確認するようにすべきである。"
 
 #. type: Plain text
 #: build/C/man2/epoll_ctl.2:316
@@ -2358,7 +2358,7 @@ msgstr "B<POLLOUT>"
 msgid ""
 "Writing is now possible, though a write larger that the available space in a "
 "socket or pipe will still block (unless B<O_NONBLOCK> is set)."
-msgstr ""
+msgstr "書き込みが可能になった。ただし、ソケットやパイプで利用可能な空間よりも大きなデータを書き込んだ場合には (B<O_NONBLOCK> がセットされている場合以外は) やはり停止することになる。"
 
 #. type: TP
 #: build/C/man2/poll.2:174
@@ -2694,7 +2694,7 @@ msgid ""
 "which specifies the size in bytes of the I<sigmask> argument.  The glibc "
 "B<ppoll>()  wrapper function specifies this argument as a fixed value (equal "
 "to I<sizeof(sigset_t)>)."
-msgstr ""
+msgstr "素の B<ppoll>() システムコールは 5 番目の引き数 I<size_t sigsetsize> をとる。 この引き数は I<sigmask> 引き数のバイト単位のサイズを指定する。 glibc の B<ppoll>() ラッパー関数は、この引き数に固定値 (I<sizeof(sigset_t)> と同じ) を指定する。"
 
 #. type: Plain text
 #: build/C/man2/poll.2:397
index f12d892..9697e66 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "POT-Creation-Date: 2015-01-04 23:48+0900\n"
-"PO-Revision-Date: 2015-01-05 00:35+0900\n"
+"PO-Revision-Date: 2015-01-05 08:48+0900\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -2072,20 +2072,14 @@ msgstr "B<FTW_CHDIR>"
 
 #. type: Plain text
 #: build/C/man3/ftw.3:231
-#, fuzzy
-#| msgid ""
-#| "If set, do a B<chdir>(2)  to each directory before handling its "
-#| "contents.  This is useful if the program needs to perform some action in "
-#| "the directory in which I<fpath> resides."
 msgid ""
 "If set, do a B<chdir>(2)  to each directory before handling its contents.  "
 "This is useful if the program needs to perform some action in the directory "
 "in which I<fpath> resides.  (Specifying this flag has no effect on the "
 "pathname that is passed in the I<fpath> argument of I<fn>.)"
 msgstr ""
-"セットされると、ディレクトリの内容を処理する前に そのディレクトリに "
-"B<chdir>(2)  する。このフラグは、 I<fpath> が属すディレクトリで何らかの動作を"
-"実行する必要がある場合に 便利である。"
+"セットされると、ディレクトリの内容を処理する前に そのディレクトリに B<chdir>(2)  する。このフラグは、 I<fpath> が属すディレクトリで何らかの動作を実行する必要がある場合に 便利である。\n"
+"(このフラグを指定しても I<fn> の I<fpath> 引き数で渡されるパス名には影響しない。)"
 
 #. type: TP
 #: build/C/man3/ftw.3:231
@@ -3197,7 +3191,7 @@ msgstr ""
 #: build/C/man3/isfdtype.3:26
 #, no-wrap
 msgid "ISFDTYPE"
-msgstr ""
+msgstr "ISFDTYPE"
 
 #. type: TH
 #: build/C/man3/isfdtype.3:26
@@ -3208,7 +3202,7 @@ msgstr "2014-03-13"
 #. type: Plain text
 #: build/C/man3/isfdtype.3:29
 msgid "isfdtype - test file type of a file descriptor"
-msgstr ""
+msgstr "isfdtype - ファイルディスクリプタのファイル種別を検査する"
 
 #. type: Plain text
 #: build/C/man3/isfdtype.3:33
@@ -3260,7 +3254,7 @@ msgid ""
 "to a file of type I<fdtype>.  The I<fdtype> argument specifies one of the "
 "B<S_IF*> constants defined in I<E<lt>sys/stat.hE<gt>> and documented in "
 "B<stat>(2)  (e.g., B<S_IFREG>)."
-msgstr ""
+msgstr "B<isfdtype>() 関数はファイルディスクリプタ I<fd> がタイプが I<fdtype> のファイルを参照しているかを検査する。 I<fdtype> 引き数には、I<E<lt>sys/stat.hE<gt>> で定義されている B<S_IF*> 定数のひとつ (B<S_IFREG> など) を指定する。 B<S_IF*> 定数の説明は B<stat>(2) にある。"
 
 #. type: Plain text
 #: build/C/man3/isfdtype.3:83
@@ -3268,14 +3262,14 @@ msgid ""
 "The B<isfdtype>()  function returns 1 if the file descriptor I<fd> is of "
 "type I<fdtype> and 0 if it is not.  On error, -1 is returned and I<errno> is "
 "set to indicate the cause."
-msgstr ""
+msgstr "B<isfdtype>() 関数は、ファイルディスクリプタ I<fd> がタイプ I<fdtype> であった場合に 1 を返し、そうでない場合に 0 を返す。 エラーの場合、 -1 を返し、I<errno> に原因を示す値を設定する。"
 
 #. type: Plain text
 #: build/C/man3/isfdtype.3:88
 msgid ""
 "The B<isfdtype>()  function can fail with any of the same errors as "
 "B<fstat>(3)."
-msgstr ""
+msgstr "B<isfdtype>() 関数は B<fstat>(3) と同じエラーで失敗する。"
 
 #. type: Plain text
 #: build/C/man3/isfdtype.3:98
@@ -3284,12 +3278,12 @@ msgid ""
 "in the draft POSIX.1g standard.  It is present on OpenBSD and Tru64 UNIX "
 "(where the required header file in both cases is just I<E<lt>sys/stat."
 "hE<gt>>, as shown in the POSIX.1g draft), and possibly other systems."
-msgstr ""
+msgstr "B<isfdtype>() 関数はどの標準でも規定されていないが、 POSIX.1g 標準のドラフトに登場したことはある。 OpenBSD と Tru64 UNIX に存在し、おそらく他のシステムにも存在する (OpenBSD と Tru64 UNIX のどちらの場合でも必要なヘッダーファイルは I<E<lt>sys/stat.hE<gt>> だけであり、POSIX.1g ドラフトに書かれていたのと同じである)。"
 
 #. type: Plain text
 #: build/C/man3/isfdtype.3:102
 msgid "Portable applications should use B<fstat>(3)  instead."
-msgstr ""
+msgstr "移植性が求められるアプリケーションでは B<fstat>(3) を使用すべきである。"
 
 #. type: Plain text
 #: build/C/man3/isfdtype.3:104
@@ -8823,7 +8817,7 @@ msgstr ""
 msgid ""
 "Most of these MAGIC constants are defined in I</usr/include/linux/magic.h> "
 "some are hardcoded in kernel sources."
-msgstr ""
+msgstr "これらの MAGIC 定数のほとんどは I</usr/include/linux/magic.h> で定義されており、いくつかはカーネルソースで直接書かれている。"
 
 #. type: Plain text
 #: build/C/man2/statfs.2:152
@@ -9030,7 +9024,7 @@ msgstr ""
 msgid ""
 "From Linux 2.6.38 up to and including Linux 3.1, B<fstatfs>()  failed with "
 "the error B<ENOSYS> for file descriptors created by B<pipe>(2)."
-msgstr ""
+msgstr "Linux 2.6.38 から Linux 3.1 までは (3.1 を含む)、 B<fstatfs>() は B<pipe>(2) で作成されたファイルディスクリプタに対してはエラー B<ENOSYS> で失敗していた。"
 
 #. type: Plain text
 #: build/C/man2/statfs.2:318
index 2fe003a..3df1e4a 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "POT-Creation-Date: 2015-01-04 23:49+0900\n"
-"PO-Revision-Date: 2015-01-05 01:17+0900\n"
+"PO-Revision-Date: 2015-01-05 08:32+0900\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -2495,13 +2495,13 @@ msgstr ""
 #: build/C/man3/ether_aton.3:130
 msgid ""
 "For an explanation of the terms used in this section, see B<attributes>(7)."
-msgstr ""
+msgstr "この節で使用されている用語の説明は B<attributes>(7) を参照のこと。"
 
 #. type: tbl table
 #: build/C/man3/ether_aton.3:135
 #, no-wrap
 msgid "Interface\tAttribute\tValue\n"
-msgstr ""
+msgstr "Interface\tAttribute\tValue\n"
 
 #. type: tbl table
 #: build/C/man3/ether_aton.3:136 build/C/man3/ether_aton.3:140
@@ -2525,7 +2525,7 @@ msgstr "B<ether_ntoa>()\n"
 #: build/C/man3/ether_aton.3:139
 #, no-wrap
 msgid "T}\tThread safety\tMT-Unsafe\n"
-msgstr ""
+msgstr "T}\tThread safety\tMT-Unsafe\n"
 
 #. type: tbl table
 #: build/C/man3/ether_aton.3:141
@@ -2561,7 +2561,7 @@ msgstr "B<ether_aton_r>()\n"
 #: build/C/man3/ether_aton.3:146
 #, no-wrap
 msgid "T}\tThread safety\tMT-Safe\n"
-msgstr ""
+msgstr "T}\tThread safety\tMT-Safe\n"
 
 #. type: Plain text
 #: build/C/man3/ether_aton.3:151
@@ -7046,7 +7046,7 @@ msgstr ""
 msgid ""
 "Before glibc version 2.2, the I<hostlen> and I<servlen> arguments were typed "
 "as I<size_t>."
-msgstr ""
+msgstr "glibc バージョン 2.2 より前では、 引き数 I<hostlen>, I<servlen> の型は I<size_t> であった。"
 
 #. type: Plain text
 #: build/C/man3/getnameinfo.3:248
@@ -10632,7 +10632,7 @@ msgstr ""
 #: build/C/man3/inet_net_pton.3:107
 #, no-wrap
 msgid "inet_net_ntop()"
-msgstr ""
+msgstr "inet_net_ntop()"
 
 #. type: Plain text
 #: build/C/man3/inet_net_pton.3:119
@@ -13035,20 +13035,20 @@ msgid ""
 "allocated to sockets that are not explicitly bound to a port number\\(emthat "
 "is, the range used for I<ephemeral ports>.  An ephemeral port is allocated "
 "to a socket in the following circumstances:"
-msgstr ""
+msgstr "このファイルには、 ポート番号に明示的にバインドされないソケットに割り当てられるデフォルトのローカルポートの範囲 \\(em つまり「一時ポート (I<ephemeral ports>)」に使用される範囲 \\(em を定める 2 つの整数が入っている。 一時ポートは以下の場合にソケットに割り当てられる。"
 
 #. type: Plain text
 #: build/C/man7/ip.7:1004
 msgid ""
 "the port number in a socket address is specified as 0 when calling "
 "B<bind>(2);"
-msgstr ""
+msgstr "B<bind>(2) の呼び出し時にソケットアドレスのポート番号に 0 が指定されている。"
 
 #. type: Plain text
 #: build/C/man7/ip.7:1007
 msgid ""
 "B<listen>(2)  is called on a stream socket that was not previously bound;"
-msgstr ""
+msgstr "バインドされていないストリームソケットに対して B<listen>(2) が呼び出された。"
 
 #. type: Plain text
 #: build/C/man7/ip.7:1010
@@ -13069,11 +13069,7 @@ msgid ""
 "I<ip_local_port_range> and ends with the second number.  If the range of "
 "ephemeral ports is exhausted, then the relevant system call returns an error "
 "(but see BUGS)."
-msgstr ""
-"一時ポート (ephemeral port) に割り当てられるポート番号の範囲は、 "
-"I<ip_local_port_range> の最初の数字から始まり、 2 番目の数字で終わる。 一時"
-"ポートの範囲を使い切った場合、 関連するシステムコールはエラーを返す (バグの節"
-"を参照)。"
+msgstr "一時ポートに割り当てられるポート番号の範囲は、 I<ip_local_port_range> の最初の数字から始まり、 2 番目の数字で終わる。 一時ポートの範囲を使い切った場合、 関連するシステムコールはエラーを返す (バグの節を参照)。"
 
 #. type: Plain text
 #: build/C/man7/ip.7:1031
@@ -13387,7 +13383,7 @@ msgid ""
 "The error used to diagnose exhaustion of the ephemeral port range differs "
 "across the various system calls (B<connect>(2), B<bind>(2), B<listen>(2), "
 "B<sendto>(2))  that can assign ephemeral ports."
-msgstr ""
+msgstr "一時ポートの範囲の枯渇を示すのに使われるエラーは、 一時ポートの割り当てを行えるシステムコール (B<connect>(2), B<bind>(2), B<listen>(2), B<sendto>(2)) により異なる。"
 
 #.  .PP
 #.  Some versions of glibc forget to declare
@@ -16548,7 +16544,7 @@ msgid ""
 "B<PACKET_LOSS> is set, any malformed packet will be skipped, its "
 "I<tp_status> reset to B<TP_STATUS_AVAILABLE>, and the transmission process "
 "continued."
-msgstr ""
+msgstr "送信リングで不正な形式のパケットに遭遇した場合、 デフォルトではそのリングの I<tp_status> を B<TP_STATUS_WRONG_FORMAT> に戻し、その送信を直ちに中止する。 不正な形式のパケットにより、そのパケット自身とその以降にキューに入れられたパケットの送信がブロックされる。形式エラーを修正し、関連する I<tp_status> を B<TP_STATUS_SEND_REQUEST> に設定し直し、B<send>(2) を使って送信処理を再開しなければならない。 しかしながら、 B<PACKET_LOSS> がセットされている場合、 不正な形式のパケットはすべてスキップされ、 その送信リングの I<tp_status> は B<TP_STATUS_AVAILABLE> に設定し直され、送信処理は継続される。"
 
 #. type: TP
 #: build/C/man7/packet.7:343
@@ -17047,7 +17043,7 @@ msgid ""
 "describes how to apply Berkeley Packet Filters to packet sockets.  I</tools/"
 "testing/selftests/net/psock_tpacket.c> contains example source code for all "
 "available versions of B<PACKET_RX_RING> and B<PACKET_TX_RING>."
-msgstr ""
+msgstr "Linux カーネルのソースツリー。 I</Documentation/networking/filter.txt> には Berkeley Packet Filters をパケットソケットにどのように適用するかの説明がある。 I</tools/testing/selftests/net/psock_tpacket.c> には、 B<PACKET_RX_RING> と B<PACKET_TX_RING> の利用可能なすべてのバージョンのサンプルソースコードがある。"
 
 #. type: TH
 #: build/C/man5/protocols.5:29
@@ -18426,7 +18422,7 @@ msgid ""
 "as a TLD rather than having localhost on one or more elements of the search "
 "list.  This option has no effect if neither RES_DEFNAMES or RES_DNSRCH is "
 "set."
-msgstr ""
+msgstr "RES_NOTLDQUERY を I<_res.options> にセットする。 このオプションを設定すると、 B<res_nsearch>() が完全なドメイン名ではない名前のトップレベルドメイン (TLD) としての検索を行わなくなる。 これにより、localhost に検索リストの要素をつけるのではなく、``localhost'' を TLD として設定しているようなサイトでは問題が起こる可能性がある。 RES_DEFNAMES も RES_DNSRCH もセットされていない場合には、このオプションは効果はない。"
 
 #. type: Plain text
 #: build/C/man5/resolv.conf.5:280
@@ -23342,7 +23338,7 @@ msgstr ""
 #: build/C/man7/unix.7:589
 #, no-wrap
 msgid "void *addrp;\n"
-msgstr ""
+msgstr "void *addrp;\n"
 
 #. type: Plain text
 #: build/C/man7/unix.7:595
@@ -23354,6 +23350,11 @@ msgid ""
 "    /* Handle error */ ;\n"
 "memset(addrp, 0, addrlen + 1);\n"
 msgstr ""
+"addrlen = sizeof(struct sockaddr_un);\n"
+"addrp = malloc(addrlen + 1);\n"
+"if (addrp == NULL)\n"
+"    /* Handle error */ ;\n"
+"memset(addrp, 0, addrlen + 1);\n"
 
 #. type: Plain text
 #: build/C/man7/unix.7:598
@@ -23362,12 +23363,14 @@ msgid ""
 "if (getsockname(sfd, (struct sockaddr *) addrp, &addrlen)) == -1)\n"
 "    /* handle error */ ;\n"
 msgstr ""
+"if (getsockname(sfd, (struct sockaddr *) addrp, &addrlen)) == -1)\n"
+"    /* handle error */ ;\n"
 
 #. type: Plain text
 #: build/C/man7/unix.7:600
 #, no-wrap
 msgid "printf(\"sun_path = %s\\en\", ((struct sockaddr_un *) addrp)-E<gt>sun_path);\n"
-msgstr ""
+msgstr "printf(\"sun_path = %s\\en\", ((struct sockaddr_un *) addrp)-E<gt>sun_path);\n"
 
 #. type: Plain text
 #: build/C/man7/unix.7:608
index 1d9dfbc..f9bc899 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "POT-Creation-Date: 2015-01-04 23:49+0900\n"
-"PO-Revision-Date: 2015-01-05 05:45+0900\n"
+"PO-Revision-Date: 2015-01-05 07:24+0900\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -9187,7 +9187,7 @@ msgstr ""
 #: build/C/man7/namespaces.7:27
 #, no-wrap
 msgid "NAMESPACES"
-msgstr ""
+msgstr "NAMESPACES"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:30
@@ -9208,49 +9208,49 @@ msgstr ""
 #. type: Plain text
 #: build/C/man7/namespaces.7:39
 msgid "Linux provides the following namespaces:"
-msgstr ""
+msgstr "Linux では以下の名前空間が提供される。"
 
 #. type: tbl table
 #: build/C/man7/namespaces.7:42
 #, no-wrap
 msgid "Namespace\tConstant\tIsolates\n"
-msgstr ""
+msgstr "名前空間\t定数\t分離対象\n"
 
 #. type: tbl table
 #: build/C/man7/namespaces.7:43
 #, no-wrap
 msgid "IPC\tCLONE_NEWIPC\tSystem V IPC, POSIX message queues\n"
-msgstr ""
+msgstr "IPC\tCLONE_NEWIPC\tSystem V IPC, POSIX メッセージキュー\n"
 
 #. type: tbl table
 #: build/C/man7/namespaces.7:44
 #, no-wrap
 msgid "Network\tCLONE_NEWNET\tNetwork devices, stacks, ports, etc.\n"
-msgstr ""
+msgstr "Network\tCLONE_NEWNET\tネットワークデバイス、スタック、ポートなど\n"
 
 #. type: tbl table
 #: build/C/man7/namespaces.7:45
 #, no-wrap
 msgid "Mount\tCLONE_NEWNS\tMount points\n"
-msgstr ""
+msgstr "Mount\tCLONE_NEWNS\tマウントポイント\n"
 
 #. type: tbl table
 #: build/C/man7/namespaces.7:46
 #, no-wrap
 msgid "PID\tCLONE_NEWPID\tProcess IDs\n"
-msgstr ""
+msgstr "PID\tCLONE_NEWPID\tプロセス ID\n"
 
 #. type: tbl table
 #: build/C/man7/namespaces.7:47
 #, no-wrap
 msgid "User\tCLONE_NEWUSER\tUser and group IDs\n"
-msgstr ""
+msgstr "User\tCLONE_NEWUSER\tユーザー ID とグループ ID\n"
 
 #. type: tbl table
 #: build/C/man7/namespaces.7:48
 #, no-wrap
 msgid "UTS\tCLONE_NEWUTS\tHostname and NIS domain name\n"
-msgstr ""
+msgstr "UTS\tCLONE_NEWUTS\tホスト名と NIS ドメイン名\n"
 
 #
 #.  ==================== The namespaces API ====================
@@ -9259,13 +9259,13 @@ msgstr ""
 msgid ""
 "This page describes the various namespaces and the associated I</proc> "
 "files, and summarizes the APIs for working with namespaces."
-msgstr ""
+msgstr "このページでは、各種の名前空間と関連する I</proc> ファイルの説明と、名前空間とともに動作する API の概要を紹介する。"
 
 #. type: SS
 #: build/C/man7/namespaces.7:57
 #, no-wrap
 msgid "The namespaces API"
-msgstr ""
+msgstr "名前空間 API"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:62
@@ -9278,7 +9278,7 @@ msgstr ""
 #: build/C/man7/namespaces.7:62
 #, no-wrap
 msgid "B<clone>(2)"
-msgstr ""
+msgstr "B<clone>(2)"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:75
@@ -9308,7 +9308,7 @@ msgstr ""
 #: build/C/man7/namespaces.7:84
 #, no-wrap
 msgid "B<unshare>(2)"
-msgstr ""
+msgstr "B<unshare>(2)"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:97
@@ -9336,7 +9336,7 @@ msgstr ""
 #: build/C/man7/namespaces.7:110
 #, no-wrap
 msgid "The /proc/[pid]/ns/ directory"
-msgstr ""
+msgstr "The /proc/[pid]/ns/ directory"
 
 #.  See commit 6b4e306aa3dc94a0545eb9279475b1ab6209a31f
 #. type: Plain text
@@ -9407,6 +9407,8 @@ msgid ""
 "$ B<readlink /proc/$$/ns/uts>\n"
 "uts:[4026531838]\n"
 msgstr ""
+"$ B<readlink /proc/$$/ns/uts>\n"
+"uts:[4026531838]\n"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:169
@@ -9485,7 +9487,7 @@ msgstr ""
 #: build/C/man7/namespaces.7:190
 #, no-wrap
 msgid "IPC namespaces (CLONE_NEWIPC)"
-msgstr ""
+msgstr "IPC 名前空間 (CLONE_NEWIPC)"
 
 #.  commit 7eafd7c74c3f2e67c27621b987b28397110d643f
 #.  https://lwn.net/Articles/312232/
@@ -9546,13 +9548,13 @@ msgstr ""
 msgid ""
 "Use of IPC namespaces requires a kernel that is configured with the "
 "B<CONFIG_IPC_NS> option."
-msgstr ""
+msgstr "IPC 名前空間を使用するには、設定 B<CONFIG_IPC_NS> が有効になったカーネルが必要である。"
 
 #. type: SS
 #: build/C/man7/namespaces.7:242
 #, no-wrap
 msgid "Network namespaces (CLONE_NEWNET)"
-msgstr ""
+msgstr "ネットワーク名前空間 (CLONE_NEWNET)"
 
 #.  FIXME Add pointer to veth(4) page when it is eventually completed
 #. type: Plain text
@@ -9583,13 +9585,13 @@ msgstr ""
 msgid ""
 "Use of network namespaces requires a kernel that is configured with the "
 "B<CONFIG_NET_NS> option."
-msgstr ""
+msgstr "ネットワーク名前空間を使用するには、設定 B<CONFIG_NET_NS> が有効になったカーネルが必要である。"
 
 #. type: SS
 #: build/C/man7/namespaces.7:269
 #, no-wrap
 msgid "Mount namespaces (CLONE_NEWNS)"
-msgstr ""
+msgstr "マウント名前空間 (CLONE_NEWNS)"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:277
@@ -9628,6 +9630,8 @@ msgid ""
 "device /dev/sda7 mounted on /home with fstype ext3 [statistics]\n"
 "(       1      )            ( 2 )             (3 ) (4)\n"
 msgstr ""
+"device /dev/sda7 mounted on /home with fstype ext3 [statistics]\n"
+"(       1      )            ( 2 )             (3 ) (4)\n"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:312
@@ -9688,32 +9692,32 @@ msgstr ""
 #: build/C/man7/namespaces.7:331
 #, no-wrap
 msgid "PID namespaces (CLONE_NEWPID)"
-msgstr ""
+msgstr "PID 名前空間 (CLONE_NEWPID)"
 
 #
 #.  ==================== User namespaces ====================
 #. type: Plain text
 #: build/C/man7/namespaces.7:337
 msgid "See B<pid_namespaces>(7)."
-msgstr ""
+msgstr "B<pid_namespaces>(7) 参照。"
 
 #. type: SS
 #: build/C/man7/namespaces.7:337
 #, no-wrap
 msgid "User namespaces (CLONE_NEWUSER)"
-msgstr ""
+msgstr "ユーザー名前空間 (CLONE_NEWUSER)"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:343 build/C/man7/namespaces.7:364
 #: build/C/man7/pid_namespaces.7:346
 msgid "See B<user_namespaces>(7)."
-msgstr ""
+msgstr "B<user_namespaces>(7) 参照。"
 
 #. type: SS
 #: build/C/man7/namespaces.7:343
 #, no-wrap
 msgid "UTS namespaces (CLONE_NEWUTS)"
-msgstr ""
+msgstr "UTS 名前空間 (CLONE_NEWUTS)"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:355
@@ -9729,7 +9733,7 @@ msgstr ""
 msgid ""
 "Use of UTS namespaces requires a kernel that is configured with the "
 "B<CONFIG_UTS_NS> option."
-msgstr ""
+msgstr "UTS 名前空間を使用するには、設定 B<CONFIG_UTS_NS> が有効になったカーネルが必要である。"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:361 build/C/man7/pid_namespaces.7:343
@@ -9752,7 +9756,7 @@ msgstr ""
 #: build/C/man7/pid_namespaces.7:27
 #, no-wrap
 msgid "PID_NAMESPACES"
-msgstr ""
+msgstr "PID_NAMESPACES"
 
 #. type: Plain text
 #: build/C/man7/pid_namespaces.7:30
@@ -9789,7 +9793,7 @@ msgstr ""
 msgid ""
 "Use of PID namespaces requires a kernel that is configured with the "
 "B<CONFIG_PID_NS> option."
-msgstr ""
+msgstr "PID 名前空間を使用するには、設定 B<CONFIG_PID_NS> が有効になったカーネルが必要である。"
 
 #. type: SS
 #: build/C/man7/pid_namespaces.7:55
@@ -13892,5 +13896,3 @@ msgstr ""
 #~ "The I<uid> does not match the current uid and I<uid> brings process over "
 #~ "its B<RLIMIT_NPROC> resource limit."
 #~ msgstr ""
-#~ "I<uid> が現在のユーザー ID とマッチせず、この I<uid> によってプロセスがリ"
-#~ "ソース上限 B<RLIMIT_NPROC> を超えた。"
index 71ee6be..27dcc06 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "POT-Creation-Date: 2015-01-04 23:49+0900\n"
-"PO-Revision-Date: 2015-01-05 01:13+0900\n"
+"PO-Revision-Date: 2015-01-05 07:49+0900\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -7131,7 +7131,7 @@ msgstr "2014-10-15"
 msgid ""
 "pthread_rwlockattr_setkind_np, pthread_rwlockattr_getkind_np - set/get the "
 "read-write lock kind of the thread read-write lock attribute object"
-msgstr ""
+msgstr "pthread_rwlockattr_setkind_np, pthread_rwlockattr_getkind_np - スレッドの読み書きロック属性オブジェクトの読み書きロック種別の設定、取得を行う"
 
 #. type: Plain text
 #: build/C/man3/pthread_rwlockattr_setkind_np.3:37
@@ -7165,7 +7165,7 @@ msgid ""
 "attribute of the read-write lock attribute object referred to by I<attr> to "
 "the value specified in I<pref>.  The argument I<pref> may be set to one of "
 "the following:"
-msgstr ""
+msgstr "B<pthread_rwlockattr_setkind_np>() 関数は、 I<attr> が参照する読み書きロック属性オブジェクトの「ロック種別 (lock kind)」を I<pref> で指定された値に設定する。 引き数 I<pref> には以下のいずれか一つを設定できる。"
 
 #. type: TP
 #: build/C/man3/pthread_rwlockattr_setkind_np.3:65
@@ -7183,7 +7183,7 @@ msgid ""
 "set by B<PTHREAD_RWLOCK_PREFER_READER_NP>, implies that the reader will "
 "receive the requested lock, even if a writer is waiting.  As long as there "
 "are readers, the writer will be starved."
-msgstr ""
+msgstr "これがデフォルトである。 スレッドは複数の読み出しロックを保持できる。 つまり、読み出しロックは再帰的である。 Single Unix Specification では、 読み出し側がロックをかけようとした際に、書き込みロックはないが書き込み側が待っていた場合の、動作は規定されていない。 B<PTHREAD_RWLOCK_PREFER_READER_NP> に設定し、読み出し側に優先度を与えるということは、 たとえ書き込み側が待っていたとしても、読み出し側が要求したロックを受け取ることを意味する。 読み出し側がいる限り、書き込み側は待つことになる。"
 
 #. type: TP
 #: build/C/man3/pthread_rwlockattr_setkind_np.3:78
@@ -7196,7 +7196,7 @@ msgstr "B<PTHREAD_RWLOCK_PREFER_WRITER_NP>"
 msgid ""
 "This is intended as the write lock analog of "
 "B<PTHREAD_RWLOCK_PREFER_READER_NP>.  But see BUGS."
-msgstr ""
+msgstr "これは B<PTHREAD_RWLOCK_PREFER_READER_NP> の書き込みロック版である。 ただし「バグ」を参照のこと。"
 
 #. type: TP
 #: build/C/man3/pthread_rwlockattr_setkind_np.3:83
@@ -7209,7 +7209,7 @@ msgstr "B<PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP>"
 msgid ""
 "Setting the lock kind to this avoids writer starvation as long as any read "
 "locking is not done in a recursive fashion."
-msgstr ""
+msgstr "ロック種別をこの値に設定すると、 読み出しロックが再帰的に行われない限りは、 書き込み側の待ちを避けることができる。"
 
 #. type: Plain text
 #: build/C/man3/pthread_rwlockattr_setkind_np.3:96
@@ -7217,7 +7217,7 @@ msgid ""
 "The B<pthread_rwlockattr_getkind_np>()  function returns the value of the "
 "lock kind attribute of the read-write lock attribute object referred to by "
 "I<attr> in the pointer I<pref>."
-msgstr ""
+msgstr "B<pthread_rwlockattr_getkind_np>() 関数は、 I<attr> が参照する読み書きロック属性オブジェクトのロック種別属性の値をポインター I<pref> に入れて返す。"
 
 #. type: Plain text
 #: build/C/man3/pthread_rwlockattr_setkind_np.3:104
@@ -7225,12 +7225,12 @@ msgid ""
 "On success, these functions return 0.  Given valid pointer arguments, "
 "B<pthread_rwlockattr_getkind_np>()  always succeeds.  On error, "
 "B<pthread_rwlockattr_setkind_np>()  returns a non-zero error number."
-msgstr ""
+msgstr "成功すると、これらの関数は 0 を返す。 有効なポインター引き数が渡された場合、 B<pthread_rwlockattr_getkind_np>() は常に成功する。 エラーの場合、 B<pthread_rwlockattr_setkind_np>() は 0 以外のエラー番号を返す。"
 
 #. type: Plain text
 #: build/C/man3/pthread_rwlockattr_setkind_np.3:109
 msgid "I<pref> specifies an unsupported value."
-msgstr ""
+msgstr "I<pref> にサポート外の値が指定された。"
 
 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=7057
 #. type: Plain text
@@ -7242,14 +7242,14 @@ msgid ""
 "lock, the thread holding a write lock will be starved.  Setting the lock "
 "kind to B<PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP> allows writers to "
 "run, but, as the name implies a writer may not lock recursively."
-msgstr ""
+msgstr "読み書きロック種別の値を B<PTHREAD_RWLOCK_PREFER_WRITER_NP> に設定することは、 値を B<PTHREAD_RWLOCK_PREFER_READER_NP> に設定するのと同じ動作となる。 読み出しスレッドがロックを保持する限り、書き込みロックを保持しているスレッドは停止することになる。 ロック種別を B<PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP> に設定すると、 書き込み側が動作できるようになるが、変数名から分かるように、 書き込み側はロックを再帰的に行うことはできない。"
 
 #. type: Plain text
 #: build/C/man3/pthread_rwlockattr_setkind_np.3:127
 msgid ""
 "The B<pthread_rwlockattr_getkind_np>()  and "
 "B<pthread_rwlockattr_setkind_np>()  functions first appeared in glibc 2.1."
-msgstr ""
+msgstr "関数 B<pthread_rwlockattr_getkind_np>() と B<pthread_rwlockattr_setkind_np>() は glibc 2.1 で初めて登場した。"
 
 #. type: Plain text
 #: build/C/man3/pthread_rwlockattr_setkind_np.3:130
index 7f63d21..370536f 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "POT-Creation-Date: 2015-01-04 23:49+0900\n"
-"PO-Revision-Date: 2015-01-05 05:48+0900\n"
+"PO-Revision-Date: 2015-01-05 07:57+0900\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -668,7 +668,7 @@ msgstr ""
 #: build/C/man3/getgrent.3:131
 #, no-wrap
 msgid "B<EAGAIN>"
-msgstr ""
+msgstr "B<EAGAIN>"
 
 #. type: Plain text
 #: build/C/man3/getgrent.3:136
@@ -676,7 +676,7 @@ msgid ""
 "The service was temporarily unavailable; try again later.  For NSS backends "
 "in glibc this indicates a temporary error talking to the backend.  The error "
 "may correct itself, retrying later is suggested."
-msgstr ""
+msgstr "サービスが一時的に利用できなかったこと。あとでもう一度試してほしい。 NSS バックエンドの場合、glibc では、バックエンドとの通信中に一時的なエラーが発生したことを示す。 このエラーは直るかもしれないので、あとでもう一度試すよう提案している。"
 
 #. type: TP
 #: build/C/man3/getgrent.3:136 build/C/man3/getgrnam.3:183
@@ -740,7 +740,7 @@ msgstr "B<ENOENT>"
 msgid ""
 "A necessary input file cannot be found.  For NSS backends in glibc this "
 "indicates the backend is not correctly configured."
-msgstr ""
+msgstr "必要な入力ファイルが見つからなかった。 NSS バックエンドの場合、glibc では、このエラーはバックエンドが正しく設定されていないことを示す。"
 
 #. type: TP
 #: build/C/man3/getgrent.3:159 build/C/man3/getgrent_r.3:113
index b215479..8c8c3b2 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "POT-Creation-Date: 2015-01-04 23:49+0900\n"
-"PO-Revision-Date: 2015-01-05 06:06+0900\n"
+"PO-Revision-Date: 2015-01-05 07:09+0900\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -4295,6 +4295,11 @@ msgid ""
 "number specified in I<newfd>.  If the descriptor I<newfd> was previously "
 "open, it is silently closed before being reused."
 msgstr ""
+"B<dup2>() システムコールは B<dup>() と同じ処理を実行するが、\n"
+"番号が最も小さい未使用のファイルディスクリプタを使用する代わりに、\n"
+"I<newfd> で指定されたディスクリプタ番号を使用する。\n"
+"ディスクリプタ I<newfd> が以前にオープンされていた場合には、\n"
+"黙ってそのディスクリプタをクローズしてから再利用する。"
 
 #. type: Plain text
 #: build/C/man2/dup.2:104
@@ -4307,6 +4312,15 @@ msgid ""
 "handler that allocates a file descriptor, or because a parallel thread "
 "allocates a file descriptor."
 msgstr ""
+"ファイルディスクリプタ I<newfd> をクローズして再利用する処理は\n"
+"I<アトミック(不可分)に>実行される。これは重要な点である。 なぜなら、\n"
+"等価な機能を B<close>(2) と B<dup>() を使って実装しようとすると、\n"
+"2 つの処理の間に I<newfd> が再利用されてしまうという、\n"
+"競合状態にさらされることになるからだ。\n"
+"このような再利用が起こるのは、\n"
+"メインプログラムがファイルディスクリプタを割り当てる\n"
+"シグナルハンドラーにより割り込まれたり、並行動作するスレッドが\n"
+"ファイルディスクリプタを割り当てたりすることがあるからだ。"
 
 #. type: Plain text
 #: build/C/man2/dup.2:106
@@ -4473,6 +4487,14 @@ msgid ""
 "B<dup2>(), because of the race condition described above.  Instead, code "
 "something like the following could be used:"
 msgstr ""
+"I<newfd> がオープンされていた場合、\n"
+"B<close>(2) 時に報告されることになるエラーはすべて失われる。\n"
+"これが心配で、シングルスレッドかつシグナルハンドラーで\n"
+"ファイルディスクリプタを割り当てるようなプログラムでない場合には、\n"
+"正しい方法は B<dup2>() を呼び出す前に\n"
+"I<newfd> をクローズ「しない」ことである。\n"
+"なぜなら、上で説明した競合状況があるからである。\n"
+"代わりに、以下のようなコードが使用できることだろう。"
 
 #. type: Plain text
 #: build/C/man2/dup.2:243
@@ -4482,9 +4504,9 @@ msgid ""
 "       be used to check for close() errors; an EBADF error\n"
 "       means that 'newfd' was not open. */\n"
 msgstr ""
-"    /* Obtain a duplicate of 'newfd' that can subsequently\n"
-"       be used to check for close() errors; an EBADF error\n"
-"       means that 'newfd' was not open. */\n"
+"    /* あとで close() エラーをチェックするのに使用できる\n"
+"       ように 'newfd' の複製を取得する。 EBADF エラーは\n"
+"       'newfd' がオープンされていないことを意味する。 */\n"
 
 #. type: Plain text
 #: build/C/man2/dup.2:248
@@ -4497,14 +4519,14 @@ msgid ""
 msgstr ""
 "    tmpfd = dup(newfd);\n"
 "    if (tmpfd == -1 && errno != EBADF) {\n"
-"        /* Handle unexpected dup() error */\n"
+"        /* 予期しない dup() のエラーを処理する */\n"
 "    }\n"
 
 #. type: Plain text
 #: build/C/man2/dup.2:250
 #, no-wrap
 msgid "    /* Atomically duplicate 'oldfd' on 'newfd' */\n"
-msgstr "    /* Atomically duplicate 'oldfd' on 'newfd' */\n"
+msgstr "    /* アトミックに 'oldfd' を 'newfd' に複製する */\n"
 
 #. type: Plain text
 #: build/C/man2/dup.2:254
@@ -4515,7 +4537,7 @@ msgid ""
 "    }\n"
 msgstr ""
 "    if (dup2(oldfd, newfd) == -1) {\n"
-"        /* Handle dup2() error */\n"
+"        /* dup2() のエラーを処理する */\n"
 "    }\n"
 
 #. type: Plain text
@@ -4525,8 +4547,8 @@ msgid ""
 "    /* Now check for close() errors on the file originally\n"
 "       referred to by 'newfd' */\n"
 msgstr ""
-"    /* Now check for close() errors on the file originally\n"
-"       referred to by 'newfd' */\n"
+"    /* ここでもともと 'newfd' で参照されていたファイルの\n"
+"       close() エラーをチェックする */\n"
 
 #. type: Plain text
 #: build/C/man2/dup.2:263
@@ -4540,7 +4562,7 @@ msgid ""
 msgstr ""
 "    if (tmpfd != -1) {\n"
 "        if (close(tmpfd) == -1) {\n"
-"            /* Handle errors from close */\n"
+"            /* close からのエラーを処理する */\n"
 "        }\n"
 "    }\n"
 
index 4b67ee8..e69de29 100644 (file)
@@ -1,4 +0,0 @@
-# pagename,#complete,#remaining,#all
-epoll.7,107,3,110
-epoll_ctl.2,67,3,70
-poll.2,91,2,93
index 8ee8974..03d2cba 100644 (file)
@@ -1,5 +1,2 @@
 # pagename,#complete,#remaining,#all
-ftw.3,85,1,86
-isfdtype.3,22,7,29
 spufs.7,118,41,159
-statfs.2,60,2,62
index 65ed6cc..72b5d20 100644 (file)
--- a/stats/net
+++ b/stats/net
@@ -1,10 +1,5 @@
 # pagename,#complete,#remaining,#all
-ether_aton.3,43,4,47
 getaddrinfo_a.3,81,41,122
-getnameinfo.3,80,1,81
-inet_net_pton.3,54,38,92
-ip.7,216,4,220
+inet_net_pton.3,55,37,92
 nss.5,20,7,27
-packet.7,110,2,112
-resolv.conf.5,62,1,63
-unix.7,110,18,128
+unix.7,114,14,128
index ffffab3..976fdfd 100644 (file)
@@ -4,8 +4,8 @@ cpuset.7,102,212,314
 getpriority.2,41,3,44
 getrlimit.2,111,12,123
 group_member.3,16,5,21
-namespaces.7,28,63,91
-pid_namespaces.7,16,38,54
+namespaces.7,56,35,91
+pid_namespaces.7,19,35,54
 seteuid.2,33,4,37
 setgid.2,27,1,28
 setresuid.2,37,4,41
index 545f85e..e69de29 100644 (file)
@@ -1,2 +0,0 @@
-# pagename,#complete,#remaining,#all
-pthread_rwlockattr_setkind_np.3,26,10,36
index ade8445..e69de29 100644 (file)
@@ -1,2 +0,0 @@
-# pagename,#complete,#remaining,#all
-getgrent.3,54,3,57
index d06a2dd..eeed627 100644 (file)
@@ -1,4 +1,3 @@
 # pagename,#complete,#remaining,#all
-dup.2,57,3,60
 execve.2,167,6,173
 fcntl.2,195,46,241
index 47297a2..55f55a2 100644 (file)
 <TR class="over80"><TD COLSPAN=3>Released pages but not completed (released if &gt;=80%)</TD></TR>
 <TR class="over70"><TD COLSPAN=3>Near release pages (&gt;= 70%)</TD></TR>
 <TR><TH>page name</TH><TH>remaining</TH><TH>comp. %</TH></TR>
-<TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>epoll</B></TD></TR>
-<TR class="over80"><TD>epoll.7</TD><TD>3/110</TD><TD>97.27</TD></TR>
-<TR class="over80"><TD>epoll_ctl.2</TD><TD>3/70</TD><TD>95.71</TD></TR>
-<TR class="over80"><TD>poll.2</TD><TD>2/93</TD><TD>97.85</TD></TR>
 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>filesystem</B></TD></TR>
-<TR class="over80"><TD>ftw.3</TD><TD>1/86</TD><TD>98.84</TD></TR>
-<TR class="over70"><TD>isfdtype.3</TD><TD>7/29</TD><TD>75.86</TD></TR>
 <TR class="over70"><TD>spufs.7</TD><TD>41/159</TD><TD>74.21</TD></TR>
-<TR class="over80"><TD>statfs.2</TD><TD>2/62</TD><TD>96.77</TD></TR>
 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>intro</B></TD></TR>
 <TR class="over80"><TD>proc.5</TD><TD>146/1150</TD><TD>87.30</TD></TR>
 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>keyutils</B></TD></TR>
 <TR class="over80"><TD>mq_open.3</TD><TD>1/66</TD><TD>98.48</TD></TR>
 <TR class="over80"><TD>mq_overview.7</TD><TD>5/95</TD><TD>94.74</TD></TR>
 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>net</B></TD></TR>
-<TR class="over80"><TD>ether_aton.3</TD><TD>4/47</TD><TD>91.49</TD></TR>
 <TR><TD>getaddrinfo_a.3</TD><TD>41/122</TD><TD>66.39</TD></TR>
-<TR class="over80"><TD>getnameinfo.3</TD><TD>1/81</TD><TD>98.77</TD></TR>
-<TR><TD>inet_net_pton.3</TD><TD>38/92</TD><TD>58.70</TD></TR>
-<TR class="over80"><TD>ip.7</TD><TD>4/220</TD><TD>98.18</TD></TR>
+<TR><TD>inet_net_pton.3</TD><TD>37/92</TD><TD>59.78</TD></TR>
 <TR class="over70"><TD>nss.5</TD><TD>7/27</TD><TD>74.07</TD></TR>
-<TR class="over80"><TD>packet.7</TD><TD>2/112</TD><TD>98.21</TD></TR>
-<TR class="over80"><TD>resolv.conf.5</TD><TD>1/63</TD><TD>98.41</TD></TR>
-<TR class="over80"><TD>unix.7</TD><TD>18/128</TD><TD>85.94</TD></TR>
+<TR class="over80"><TD>unix.7</TD><TD>14/128</TD><TD>89.06</TD></TR>
 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>notify</B></TD></TR>
 <TR><TD>fanotify.7</TD><TD>94/191</TD><TD>50.79</TD></TR>
 <TR><TD>fanotify_init.2</TD><TD>46/77</TD><TD>40.26</TD></TR>
 <TR class="over80"><TD>getpriority.2</TD><TD>3/44</TD><TD>93.18</TD></TR>
 <TR class="over80"><TD>getrlimit.2</TD><TD>12/123</TD><TD>90.24</TD></TR>
 <TR class="over70"><TD>group_member.3</TD><TD>5/21</TD><TD>76.19</TD></TR>
-<TR><TD>namespaces.7</TD><TD>63/91</TD><TD>30.77</TD></TR>
-<TR><TD>pid_namespaces.7</TD><TD>38/54</TD><TD>29.63</TD></TR>
+<TR><TD>namespaces.7</TD><TD>35/91</TD><TD>61.54</TD></TR>
+<TR><TD>pid_namespaces.7</TD><TD>35/54</TD><TD>35.19</TD></TR>
 <TR class="over80"><TD>seteuid.2</TD><TD>4/37</TD><TD>89.19</TD></TR>
 <TR class="over80"><TD>setgid.2</TD><TD>1/28</TD><TD>96.43</TD></TR>
 <TR class="over80"><TD>setresuid.2</TD><TD>4/41</TD><TD>90.24</TD></TR>
 <TR class="over80"><TD>setuid.2</TD><TD>4/37</TD><TD>89.19</TD></TR>
 <TR class="over80"><TD>svipc.7</TD><TD>2/95</TD><TD>97.89</TD></TR>
 <TR><TD>user_namespaces.7</TD><TD>102/168</TD><TD>39.29</TD></TR>
-<TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>pthread</B></TD></TR>
-<TR class="over70"><TD>pthread_rwlockattr_setkind_np.3</TD><TD>10/36</TD><TD>72.22</TD></TR>
-<TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>pwdgrp</B></TD></TR>
-<TR class="over80"><TD>getgrent.3</TD><TD>3/57</TD><TD>94.74</TD></TR>
 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>sched</B></TD></TR>
 <TR class="over80"><TD>clone.2</TD><TD>20/214</TD><TD>90.65</TD></TR>
 <TR class="over80"><TD>sched_setaffinity.2</TD><TD>1/45</TD><TD>97.78</TD></TR>
 <TR><TD>utimensat.2</TD><TD>49/107</TD><TD>54.21</TD></TR>
 <TR class="over80"><TD>zdump.8</TD><TD>1/22</TD><TD>95.45</TD></TR>
 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>unistd</B></TD></TR>
-<TR class="over80"><TD>dup.2</TD><TD>3/60</TD><TD>95.00</TD></TR>
 <TR class="over80"><TD>execve.2</TD><TD>6/173</TD><TD>96.53</TD></TR>
 <TR class="over80"><TD>fcntl.2</TD><TD>46/241</TD><TD>80.91</TD></TR>
-<TR><TD COLSPAN=3>Total 146 pages</TD></TR>
+<TR><TD COLSPAN=3>Total 132 pages</TD></TR>
 </TABLE>
 </BODY></HTML>