mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
setup vm->main_ractor before Init_native_thread()
This commit is contained in:
parent
eab99b1d4b
commit
37ea07d59b
Notes:
git
2022-05-20 17:38:21 +09:00
1 changed files with 6 additions and 5 deletions
11
vm.c
11
vm.c
|
@ -3249,11 +3249,9 @@ rb_ec_clear_vm_stack(rb_execution_context_t *ec)
|
|||
}
|
||||
|
||||
static void
|
||||
th_init(rb_thread_t *th, VALUE self, rb_vm_t *vm, rb_ractor_t *r)
|
||||
th_init(rb_thread_t *th, VALUE self, rb_vm_t *vm)
|
||||
{
|
||||
th->self = self;
|
||||
th->vm = vm;
|
||||
th->ractor = r;
|
||||
|
||||
rb_threadptr_root_fiber_setup(th);
|
||||
|
||||
|
@ -3304,7 +3302,8 @@ rb_thread_alloc(VALUE klass)
|
|||
{
|
||||
VALUE self = thread_alloc(klass);
|
||||
rb_thread_t *target_th = rb_thread_ptr(self);
|
||||
th_init(target_th, self, GET_VM(), GET_RACTOR());
|
||||
target_th->ractor = GET_RACTOR();
|
||||
th_init(target_th, self, target_th->vm = GET_VM());
|
||||
return self;
|
||||
}
|
||||
|
||||
|
@ -3955,8 +3954,10 @@ Init_BareVM(void)
|
|||
|
||||
// setup main thread
|
||||
th->nt = ZALLOC(struct rb_native_thread);
|
||||
th->vm = vm;
|
||||
th->ractor = vm->ractor.main_ractor = rb_ractor_main_alloc();
|
||||
Init_native_thread(th);
|
||||
th_init(th, 0, vm, vm->ractor.main_ractor = rb_ractor_main_alloc());
|
||||
th_init(th, 0, vm);
|
||||
|
||||
rb_ractor_set_current_ec(th->ractor, th->ec);
|
||||
ruby_thread_init_stack(th);
|
||||
|
|
Loading…
Add table
Reference in a new issue