From e457f6312f2ff05ab5ac52f17ab654f09282cd8d Mon Sep 17 00:00:00 2001 From: akr Date: Sat, 18 Jan 2014 13:42:39 +0000 Subject: [PATCH] * io.c (rb_update_max_fd): Return immediately if the given fd is small enough. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ io.c | 3 +++ 2 files changed, 8 insertions(+) diff --git a/ChangeLog b/ChangeLog index 016c974645..36c62566bf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sat Jan 18 22:35:15 2014 Tanaka Akira + + * io.c (rb_update_max_fd): Return immediately if the given fd is small + enough. + Sat Jan 18 22:25:53 2014 Tanaka Akira * io.c: Test O_CLOEXEC only once. diff --git a/io.c b/io.c index 5d66bdf4b0..6bab4f9378 100644 --- a/io.c +++ b/io.c @@ -189,6 +189,9 @@ rb_update_max_fd(int fd) struct stat buf; rb_atomic_t afd = (rb_atomic_t)fd; + if (afd <= max_file_descriptor) + return; + if (fstat(fd, &buf) != 0 && errno == EBADF) { rb_bug("rb_update_max_fd: invalid fd (%d) given.", fd); }