diff options
author | kosaki <kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-12-18 10:07:05 +0000 |
---|---|---|
committer | kosaki <kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-12-18 10:07:05 +0000 |
commit | 005db82d368d9e030b3b370ceba8b46e739b2b2b (patch) | |
tree | 4654da4b8cb5ce1502666ffe03b18c16e8aa83ff /thread.c | |
parent | dff59f6c5df7d995d02e8173a8ce42ff9c552e88 (diff) |
* thread.c (rb_thread_wait_fd_rw): fix infinite loop bug.
rb_wait_for_single_fd() never return positive number.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'thread.c')
-rw-r--r-- | thread.c | 8 |
1 files changed, 3 insertions, 5 deletions
@@ -3320,12 +3320,10 @@ rb_thread_wait_fd_rw(int fd, int read) if (fd < 0) { rb_raise(rb_eIOError, "closed stream"); } - while (result <= 0) { - result = rb_wait_for_single_fd(fd, events, NULL); - if (result < 0) { - rb_sys_fail(0); - } + result = rb_wait_for_single_fd(fd, events, NULL); + if (result < 0) { + rb_sys_fail(0); } thread_debug("rb_thread_wait_fd_rw(%d, %s): done\n", fd, read ? "read" : "write"); |