From 49d712fba5a0f8b4cbf1543fd6f1e08bc6cc641a Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 12 Feb 2003 16:30:13 +0000 Subject: * eval.c (rb_thread_schedule): current thread may be dead when deadlock. (ruby-bugs:PR#588) git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@3488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- eval.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'eval.c') diff --git a/eval.c b/eval.c index bd86870d8..bfd026712 100644 --- a/eval.c +++ b/eval.c @@ -8230,7 +8230,9 @@ rb_thread_schedule() next = main_thread; rb_thread_ready(next); next->status = THREAD_TO_KILL; - rb_thread_save_context(curr_thread); + if (!rb_thread_dead(curr_thread)) { + rb_thread_save_context(curr_thread); + } rb_thread_deadlock(); } next->wait_for = 0; -- cgit