summaryrefslogtreecommitdiff
path: root/process.c
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 /process.c
parent0ad3bee01fdf9eef74936dc159919945e268f3fa (diff)
* 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
Diffstat (limited to 'process.c')
-rw-r--r--process.c2
1 files changed, 2 insertions, 0 deletions
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;
}