summaryrefslogtreecommitdiffstats
path: root/thread.c
diff options
context:
space:
mode:
authormame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-08-21 15:14:29 +0000
committermame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-08-21 15:14:29 +0000
commit0bce581d5cdd59bdfe1d7b98d08c2ab03b31eb02 (patch)
tree995d27660f99a7ceac2facf80f36cfb318fa3069 /thread.c
parenta01f7bb7f82c03ebacbdf31908a3abf14964191e (diff)
downloadruby-0bce581d5cdd59bdfe1d7b98d08c2ab03b31eb02.tar.gz
ruby-0bce581d5cdd59bdfe1d7b98d08c2ab03b31eb02.tar.xz
ruby-0bce581d5cdd59bdfe1d7b98d08c2ab03b31eb02.zip
* 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: http://svn.ruby-lang.org/repos/ruby/trunk@24616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'thread.c')
-rw-r--r--thread.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/thread.c b/thread.c
index 5a3b612e2..fe00a3f90 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);
}
}