summaryrefslogtreecommitdiff
path: root/io.c
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-10-23 15:38:06 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-10-23 15:38:06 +0000
commit843acddbe167ff9d47a71b27eb4264c0d88b6cae (patch)
tree4fc53ebfdd5bbab438c0cbdc88b53e716c19f82b /io.c
parent525be7f048c6463c0b40c35a76f72cd73bcd25fc (diff)
* io.c (io_cntl): update max file descriptor by the result of
fcntl(F_DUPFD). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'io.c')
-rw-r--r--io.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/io.c b/io.c
index 7ef11920ed..426cba5a55 100644
--- a/io.c
+++ b/io.c
@@ -7237,6 +7237,9 @@ io_cntl(int fd, unsigned long cmd, long narg, int io_p)
# else
retval = io_p?ioctl(fd, cmd, narg):fcntl(fd, (int)cmd, narg);
# endif
+ if (!io_p && retval != -1 && cmd == F_DUPFD) {
+ UPDATE_MAXFD(retval);
+ }
#else
if (!io_p) {
rb_notimplement();