summaryrefslogtreecommitdiff
path: root/io.c
diff options
context:
space:
mode:
authorkosaki <kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-12-18 10:07:15 +0000
committerkosaki <kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-12-18 10:07:15 +0000
commit06dcf7840fd6a9f7f6ad48ff9ce9d0bbe180c1eb (patch)
tree87d88059722222c445db0ecb39262dec5cf2c0d2 /io.c
parent005db82d368d9e030b3b370ceba8b46e739b2b2b (diff)
* io.c (rb_io_wait_writable): don't use rb_thread_wait_fd()
because it is for waiting until io readable. * io.c (rb_io_wait_writable): always use rb_thread_fd_writable() instaed of bare rb_wait_for_single_fd(). we shouldn't ignore return value. * io.c (rb_io_wait_readable): ditto. always use rb_thread_wait_fd(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'io.c')
-rw-r--r--io.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/io.c b/io.c
index 3047da4380..25680cf83e 100644
--- a/io.c
+++ b/io.c
@@ -1050,14 +1050,11 @@ rb_io_wait_readable(int f)
#if defined(ERESTART)
case ERESTART:
#endif
- rb_thread_wait_fd(f);
- return TRUE;
-
case EAGAIN:
#if defined(EWOULDBLOCK) && EWOULDBLOCK != EAGAIN
case EWOULDBLOCK:
#endif
- rb_wait_for_single_fd(f, RB_WAITFD_IN, NULL);
+ rb_thread_wait_fd(f);
return TRUE;
default:
@@ -1076,14 +1073,11 @@ rb_io_wait_writable(int f)
#if defined(ERESTART)
case ERESTART:
#endif
- rb_thread_wait_fd(f);
- return TRUE;
-
case EAGAIN:
#if defined(EWOULDBLOCK) && EWOULDBLOCK != EAGAIN
case EWOULDBLOCK:
#endif
- rb_wait_for_single_fd(f, RB_WAITFD_OUT, NULL);
+ rb_thread_fd_writable(f);
return TRUE;
default: