>同じ値の場合、dup2() は何もせず、newfd を返す。
>というのが正しい処理だと思います

その根拠は?