mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
fix initialize order
`captured->code.val` should be initialize before because it can be a GC point by another ractor because `RB_OBJ_WRITE` can issue VM locking.
This commit is contained in:
parent
82bbce826f
commit
e8cee4915b
1 changed files with 1 additions and 1 deletions
2
vm.c
2
vm.c
|
|
@ -905,8 +905,8 @@ vm_proc_create_from_captured(VALUE klass,
|
|||
VM_ASSERT(VM_EP_IN_HEAP_P(GET_EC(), captured->ep));
|
||||
|
||||
/* copy block */
|
||||
RB_OBJ_WRITE(procval, &proc->block.as.captured.self, captured->self);
|
||||
RB_OBJ_WRITE(procval, &proc->block.as.captured.code.val, captured->code.val);
|
||||
RB_OBJ_WRITE(procval, &proc->block.as.captured.self, captured->self);
|
||||
rb_vm_block_ep_update(procval, &proc->block, captured->ep);
|
||||
|
||||
vm_block_type_set(&proc->block, block_type);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue