From f72b854c7d232e0bcbeade4fd44a63130aa6143b Mon Sep 17 00:00:00 2001 From: mame Date: Fri, 21 Aug 2009 15:14:29 +0000 Subject: [PATCH] * thread.c (rb_check_deadlock): decrease number of sleepers before deadlock detection because the deadlock exception makes main thread run. [ruby-dev:39142] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ thread.c | 1 + 2 files changed, 7 insertions(+) diff --git a/ChangeLog b/ChangeLog index d32f2b07d6..b91eb5113f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Sat Aug 22 00:03:19 2009 Yusuke Endoh + + * thread.c (rb_check_deadlock): decrease number of sleepers before + deadlock detection because the deadlock exception makes main thread + run. [ruby-dev:39142] + Fri Aug 21 22:34:58 2009 Tanaka Akira * enumerator.c (get_next_values): extracted from diff --git a/thread.c b/thread.c index 5a3b612e2f..fe00a3f907 100644 --- a/thread.c +++ b/thread.c @@ -4049,6 +4049,7 @@ rb_check_deadlock(rb_vm_t *vm) printf("%d %d %p %p\n", vm->living_threads->num_entries, vm->sleeper, GET_THREAD(), vm->main_thread); st_foreach(vm->living_threads, debug_i, (st_data_t)0); #endif + vm->sleeper--; rb_threadptr_raise(vm->main_thread, 2, argv); } }