summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--io.c6
2 files changed, 11 insertions, 0 deletions
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 <nobu@ruby-lang.org>
+
+ * io.c (rb_cloexec_dup, rb_cloexec_dup2): CLOEXEC has been set if
+ dup3 succeeded.
+
Sun Oct 30 09:58:48 2011 Tanaka Akira <akr@fsij.org>
* 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);