From d7feebb4b39be7886735acea73de825c5d54e39e Mon Sep 17 00:00:00 2001 From: nagachika Date: Mon, 14 Feb 2011 14:13:46 +0000 Subject: [PATCH] * thread.c (rb_thread_io_blocking_region): reset th->waiting_fd after blocking region, because remaining waiting_fd might cause unnecessary IOError. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ thread.c | 1 + 2 files changed, 7 insertions(+) diff --git a/ChangeLog b/ChangeLog index 1b35d25e2f..444251661b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Mon Feb 14 23:01:19 2011 CHIKANAGA Tomoyuki + + * thread.c (rb_thread_io_blocking_region): reset th->waiting_fd + after blocking region, because remaining waiting_fd might + cause unnecessary IOError. + Mon Feb 14 21:06:50 2011 URABE Shyouhei * configure.in: revert r30621. That revision introduced mkmf test diff --git a/thread.c b/thread.c index 7108f586af..927dbc4131 100644 --- a/thread.c +++ b/thread.c @@ -1151,6 +1151,7 @@ rb_thread_io_blocking_region(rb_blocking_function_t *func, void *data1, int fd) val = func(data1); saved_errno = errno; }, ubf_select, th); + th->waiting_fd = -1; errno = saved_errno; return val;