diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-01-18 14:13:22 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-01-18 14:13:22 +0000 |
commit | 971ef822679dfa6ee63ff83a47b4e4d1aa60d146 (patch) | |
tree | ab244ae10e099db0f04596f1e5f0bfe317146b18 /ext/socket/init.c | |
parent | e86a90420d06f613cf597f266abb5429aa2d6b43 (diff) | |
download | ruby-971ef822679dfa6ee63ff83a47b4e4d1aa60d146.tar.gz |
* ext/socket: Avoid unnecessary ppoll/select on Linux.
Patch by Eric Wong. [ruby-core:57950] [Bug #9039]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/socket/init.c')
-rw-r--r-- | ext/socket/init.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/ext/socket/init.c b/ext/socket/init.c index 6d98a66d6e..a69d2e7904 100644 --- a/ext/socket/init.c +++ b/ext/socket/init.c @@ -135,7 +135,7 @@ rsock_s_recvfrom(VALUE sock, int argc, VALUE *argv, enum sock_recv_type from) rb_obj_hide(str); while (rb_io_check_closed(fptr), - rb_thread_wait_fd(arg.fd), + rsock_maybe_wait_fd(arg.fd), (slen = BLOCKING_REGION_FD(recvfrom_blocking, &arg)) < 0) { if (!rb_io_wait_readable(fptr->fd)) { rb_sys_fail("recvfrom(2)"); @@ -575,7 +575,7 @@ rsock_s_accept(VALUE klass, int fd, struct sockaddr *sockaddr, socklen_t *len) arg.sockaddr = sockaddr; arg.len = len; retry: - rb_thread_wait_fd(fd); + rsock_maybe_wait_fd(fd); fd2 = (int)BLOCKING_REGION_FD(accept_blocking, &arg); if (fd2 < 0) { switch (errno) { |