From f80896c2192746c3d3c5d6300c6412e69a3e3d7d Mon Sep 17 00:00:00 2001 From: nagachika Date: Wed, 21 Sep 2011 17:02:21 +0000 Subject: [PATCH] * thread_pthread.c (ubf_select): activate timer thread when interrupt blocking thread. A patch created by Koichi Sasada. [ruby-core:39634] [Bug #5343] to cover race condition, timer thread periodically send SIGVTARLM to threads in signal thread list. so you should activate timer thread when interrupt a thread. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33307 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 9 +++++++++ thread_pthread.c | 1 + 2 files changed, 10 insertions(+) diff --git a/ChangeLog b/ChangeLog index b7af797b1c..2963027f39 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +Thu Sep 22 01:52:48 2011 CHIKANAGA Tomoyuki + + * thread_pthread.c (ubf_select): activate timer thread when interrupt + blocking thread. + A patch created by Koichi Sasada. [ruby-core:39634] [Bug #5343] + to cover race condition, timer thread periodically send SIGVTARLM to + threads in signal thread list. so you should activate timer thread + when interrupt a thread. + Wed Sep 21 16:55:26 2011 NAKAMURA Usaku * test/io/wait/test_io_wait.rb (TestIOWait#setup): of course, the diff --git a/thread_pthread.c b/thread_pthread.c index 6d700051a8..afc86ca035 100644 --- a/thread_pthread.c +++ b/thread_pthread.c @@ -1013,6 +1013,7 @@ ubf_select(void *ptr) { rb_thread_t *th = (rb_thread_t *)ptr; add_signal_thread_list(th); + rb_thread_wakeup_timer_thread(); /* activate timer thread */ ubf_select_each(th); }