diff --git a/ChangeLog b/ChangeLog index 3e0e4033d6..432a3dc7c5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Tue Nov 27 07:47:09 2012 KOSAKI Motohiro + + * thread.c (rb_thread_terminate_all): add RUBY_VM_CHECK_INTS_BLOCKING(). + Otherwise the loop in this function behave as busy loop because + native_sleep() return immediately when RUBY_VM_INTERRUPTED() is true. + Tue Nov 27 04:12:49 2012 Nobuyoshi Nakada * ext/extmk.rb (extmake): git rid of post-1.8 features for cross diff --git a/thread.c b/thread.c index 878464186e..ed8d429ef8 100644 --- a/thread.c +++ b/thread.c @@ -386,6 +386,7 @@ rb_thread_terminate_all(void) PUSH_TAG(); if (EXEC_TAG() == 0) { native_sleep(th, 0); + RUBY_VM_CHECK_INTS_BLOCKING(th); } else { /* ignore exception */