aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-12-31 05:22:11 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-12-31 05:22:11 +0000
commit96abe7f35e3e03a861ea2b1bf7cc6e62a0615b3c (patch)
tree5cb4acec51f50cc2fc219e4de49d8cec3a84d9fc
parent0ad3bee01fdf9eef74936dc159919945e268f3fa (diff)
downloadruby-96abe7f35e3e03a861ea2b1bf7cc6e62a0615b3c.tar.gz
* process.c (save_redirect_fd): consider EBADF that the fd is not used.
[ruby-dev:39938] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--process.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 1190b3f89b..53c2e16862 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Dec 31 14:20:11 2009 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * process.c (save_redirect_fd): consider EBADF that the fd is not used.
+ [ruby-dev:39938]
+
Thu Dec 31 06:03:48 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/socket/raddrinfo.c (addrinfo_type): typed.
diff --git a/process.c b/process.c
index 081e927bab..07ad06e178 100644
--- a/process.c
+++ b/process.c
@@ -1863,6 +1863,8 @@ save_redirect_fd(int fd, VALUE save, char *errmsg, size_t errmsg_buflen)
VALUE newary;
int save_fd = redirect_dup(fd);
if (save_fd == -1) {
+ if (errno == EBADF)
+ return 0;
ERRMSG("dup");
return -1;
}