diff --git a/ChangeLog b/ChangeLog index f2e50a3a39..34904e3203 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sun Oct 30 10:47:20 2011 Nobuyoshi Nakada + + * io.c (rb_cloexec_dup, rb_cloexec_dup2): CLOEXEC has been set if + dup3 succeeded. + Sun Oct 30 09:58:48 2011 Tanaka Akira * io.c (rb_cloexec_dup): don't allocate standard file descriptors. diff --git a/io.c b/io.c index d61dc5f31d..9f696136f2 100644 --- a/io.c +++ b/io.c @@ -217,6 +217,9 @@ rb_cloexec_dup(int oldfd) try_fcntl = 0; ret = dup(oldfd); } + else { + return ret; + } } else { ret = dup(oldfd); @@ -246,6 +249,9 @@ rb_cloexec_dup2(int oldfd, int newfd) try_dup3 = 0; ret = dup2(oldfd, newfd); } + else { + return ret; + } } else { ret = dup2(oldfd, newfd);