mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* thread.c (thread_start_func_2): check deadlock condition before
release thread stack. fix memory violation when deadlock detected. reported by Max Aller. [Bug #4009] [ruby-core:32982] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
d07940ee13
commit
a2ba50d971
2 changed files with 9 additions and 2 deletions
|
@ -1,3 +1,9 @@
|
|||
Mon Jan 31 21:32:44 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
|
||||
|
||||
* thread.c (thread_start_func_2): check deadlock condition before
|
||||
release thread stack. fix memory violation when deadlock detected.
|
||||
reported by Max Aller. [Bug #4009] [ruby-core:32982]
|
||||
|
||||
Mon Jan 31 14:45:47 2011 Yuki Sonoda (Yugui) <yugui@yugui.jp>
|
||||
|
||||
* lib/irb/locale.rb (IRB::Locale::#search_file):
|
||||
|
|
5
thread.c
5
thread.c
|
@ -524,13 +524,14 @@ thread_start_func_2(rb_thread_t *th, VALUE *stack_start, VALUE *register_stack_s
|
|||
join_th = join_th->join_list_next;
|
||||
}
|
||||
|
||||
thread_unlock_all_locking_mutexes(th);
|
||||
if (th != main_th) rb_check_deadlock(th->vm);
|
||||
|
||||
if (!th->root_fiber) {
|
||||
rb_thread_recycle_stack_release(th->stack);
|
||||
th->stack = 0;
|
||||
}
|
||||
}
|
||||
thread_unlock_all_locking_mutexes(th);
|
||||
if (th != main_th) rb_check_deadlock(th->vm);
|
||||
if (th->vm->main_thread == th) {
|
||||
ruby_cleanup(state);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue