mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
vm_eval.c: pass thread too
* vm_eval.c (check_funcall_missing): pass same thread to call. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
dc9c55d611
commit
1f557eaea1
1 changed files with 3 additions and 1 deletions
|
@ -347,6 +347,7 @@ rb_call0(VALUE recv, ID mid, int argc, const VALUE *argv,
|
|||
}
|
||||
|
||||
struct rescue_funcall_args {
|
||||
rb_thread_t *th;
|
||||
VALUE defined_class;
|
||||
VALUE recv;
|
||||
ID mid;
|
||||
|
@ -358,7 +359,7 @@ struct rescue_funcall_args {
|
|||
static VALUE
|
||||
check_funcall_exec(struct rescue_funcall_args *args)
|
||||
{
|
||||
return call_method_entry(GET_THREAD(), args->defined_class,
|
||||
return call_method_entry(args->th, args->defined_class,
|
||||
args->recv, idMethodMissing,
|
||||
args->me, args->argc, args->argv);
|
||||
}
|
||||
|
@ -397,6 +398,7 @@ check_funcall_missing(rb_thread_t *th, VALUE klass, VALUE recv, ID mid, int argc
|
|||
new_args[0] = ID2SYM(mid);
|
||||
MEMCPY(new_args+1, argv, VALUE, argc);
|
||||
th->method_missing_reason = MISSING_NOENTRY;
|
||||
args.th = th;
|
||||
args.recv = recv;
|
||||
args.me = me;
|
||||
args.mid = mid;
|
||||
|
|
Loading…
Add table
Reference in a new issue