.SH エラー
.TP
\fBEBADF\fP
-\fIoldfd\fP がオープンされたファイルディスクリプタでないか、 \fInewfd\fP がファイルディスクリプタとして許される範囲から外れている。
+\fIoldfd\fP がオープンされたファイルディスクリプタではない。
+.TP
+\fBEBADF\fP
+\fInewfd\fP がファイルディスクリプターとして許可されている範囲ではない (\fBgetrlimit\fP(2) の \fBRLIMIT_NOFILE\fP
+の議論を参照)。
.TP
\fBEBUSY\fP
(Linux のみ) \fBopen\fP(2) や \fBdup\fP() との競合状態の場合に、 \fBdup2\fP() や \fBdup3\fP()
\fBdup2\fP() や \fBdup3\fP() の呼び出しがシグナルにより割り込まれた。 \fBsignal\fP(7) 参照。
.TP
\fBEINVAL\fP
+(\fBdup3\fP()) \fIflags\fP に無効な値が入っている。
+.TP
+\fBEINVAL\fP
.\" FIXME . To confirm with Al Viro that this was intended, and its rationale
-(\fBdup3\fP()) \fIflags\fP に無効な値が入っている。 もしくは、 \fIoldfd\fP が \fInewfd\fP と同じであった。
+(\fBdup3\fP()) \fIoldfd\fP が \fInewfd\fP と同じであった。
.TP
\fBEMFILE\fP
-プロセスがすでにオープンできる最大数までファイルディスクリプタ を開いていて、さらに新しいものを開こうとした。
+プロセスがすでにオープンできる最大数までファイルディスクリプタ を開いていて、さらに新しいものを開こうとした (\fBgetrlimit\fP(2)
+のリソース上限 \fBRLIMIT_NOFILE\fP を参照)。
.SH バージョン
\fBdup3\fP() はバージョン 2.6.27 で Linux に追加された。 glibc によるサポートはバージョン 2.9 以降で利用できる。
.SH 準拠
.fi
.SH 関連項目
\fBclose\fP(2), \fBfcntl\fP(2), \fBopen\fP(2)
-.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.77 の一部
-である。プロジェクトの説明とバグ報告に関する情報は
-http://www.kernel.org/doc/man\-pages/ に書かれている。