summaryrefslogtreecommitdiff
path: root/ext/socket/init.c
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-01-18 14:13:22 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-01-18 14:13:22 +0000
commit971ef822679dfa6ee63ff83a47b4e4d1aa60d146 (patch)
treeab244ae10e099db0f04596f1e5f0bfe317146b18 /ext/socket/init.c
parente86a90420d06f613cf597f266abb5429aa2d6b43 (diff)
* 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.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/ext/socket/init.c b/ext/socket/init.c
index 6d98a66..a69d2e7 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) {