зеркало из https://github.com/github/ruby.git
the core problem is the Proc is not shareable
This commit is contained in:
Родитель
9541b3b7c0
Коммит
489e5e3a82
|
@ -1130,7 +1130,7 @@ assert_equal 'can not set constants with non-shareable objects by non-main Racto
|
|||
}
|
||||
|
||||
# define_method is not allowed
|
||||
assert_equal "defined in a different Ractor", %q{
|
||||
assert_equal "defined with an un-shareable Proc in a different Ractor", %q{
|
||||
str = "foo"
|
||||
define_method(:buggy){|i| str << "#{i}"}
|
||||
begin
|
||||
|
|
|
@ -3082,7 +3082,7 @@ vm_call_bmethod_body(rb_execution_context_t *ec, struct rb_calling_info *calling
|
|||
|
||||
if (!RB_OBJ_SHAREABLE_P(procv) &&
|
||||
cme->def->body.bmethod.defined_ractor != rb_ractor_self(rb_ec_ractor_ptr(ec))) {
|
||||
rb_raise(rb_eRuntimeError, "defined in a different Ractor");
|
||||
rb_raise(rb_eRuntimeError, "defined with an un-shareable Proc in a different Ractor");
|
||||
}
|
||||
|
||||
/* control block frame */
|
||||
|
|
Загрузка…
Ссылка в новой задаче