зеркало из https://github.com/github/ruby.git
* vm.c (vm_backtrace_each): use called_id when method definition
structure is already freed. [ruby-dev:40234] [ruby-core:27959] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
69286031af
Коммит
1b99a27b11
|
@ -1,3 +1,8 @@
|
||||||
|
Sat Feb 20 14:36:16 2010 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||||
|
|
||||||
|
* vm.c (vm_backtrace_each): use called_id when method definition
|
||||||
|
structure is already freed. [ruby-dev:40234] [ruby-core:27959]
|
||||||
|
|
||||||
Fri Feb 19 00:04:19 2010 Yusuke Endoh <mame@tsg.ne.jp>
|
Fri Feb 19 00:04:19 2010 Yusuke Endoh <mame@tsg.ne.jp>
|
||||||
|
|
||||||
* lib/drb/drb.rb (DRbServer#stop_service): join killed thread to
|
* lib/drb/drb.rb (DRbServer#stop_service): join killed thread to
|
||||||
|
|
8
vm.c
8
vm.c
|
@ -731,8 +731,14 @@ vm_backtrace_each(rb_thread_t *th, int lev, rb_backtrace_iter_func *iter, void *
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (RUBYVM_CFUNC_FRAME_P(cfp)) {
|
else if (RUBYVM_CFUNC_FRAME_P(cfp)) {
|
||||||
|
ID id;
|
||||||
|
|
||||||
if (NIL_P(file)) file = rb_str_new_cstr("ruby");
|
if (NIL_P(file)) file = rb_str_new_cstr("ruby");
|
||||||
if ((*iter)(arg, file, line_no, rb_id2str(cfp->me->def->original_id))) break;
|
if (cfp->me->def)
|
||||||
|
id = cfp->me->def->original_id;
|
||||||
|
else
|
||||||
|
id = cfp->me->called_id;
|
||||||
|
if ((*iter)(arg, file, line_no, rb_id2str(id))) break;
|
||||||
}
|
}
|
||||||
cfp = RUBY_VM_NEXT_CONTROL_FRAME(cfp);
|
cfp = RUBY_VM_NEXT_CONTROL_FRAME(cfp);
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче