mirror of
https://github.com/ruby/ruby.git
synced 2025-08-23 13:04:13 +02:00
Some global variables can be accessed from ractors
Some global variables should be used from non-main Ractors. [Bug #17268] ```ruby # ractor-local (derived from created ractor): debug '$DEBUG' => $DEBUG, '$-d' => $-d, # ractor-local (derived from created ractor): verbose '$VERBOSE' => $VERBOSE, '$-w' => $-w, '$-W' => $-W, '$-v' => $-v, # process-local (readonly): other commandline parameters '$-p' => $-p, '$-l' => $-l, '$-a' => $-a, # process-local (readonly): getpid '$$' => $$, # thread local: process result '$?' => $?, # scope local: match '$~' => $~.inspect, '$&' => $&, '$`' => $`, '$\'' => $', '$+' => $+, '$1' => $1, # scope local: last line '$_' => $_, # scope local: last backtrace '$@' => $@, '$!' => $!, # ractor local: stdin, out, err '$stdin' => $stdin.inspect, '$stdout' => $stdout.inspect, '$stderr' => $stderr.inspect, ```
This commit is contained in:
parent
9ced5fae6d
commit
99310e3eb5
Notes:
git
2020-10-20 15:39:18 +09:00
11 changed files with 131 additions and 24 deletions
18
vm.c
18
vm.c
|
@ -3515,28 +3515,18 @@ Init_top_self(void)
|
|||
rb_define_alias(rb_singleton_class(rb_vm_top_self()), "inspect", "to_s");
|
||||
}
|
||||
|
||||
static VALUE *
|
||||
ruby_vm_verbose_ptr(rb_vm_t *vm)
|
||||
{
|
||||
return &vm->verbose;
|
||||
}
|
||||
|
||||
static VALUE *
|
||||
ruby_vm_debug_ptr(rb_vm_t *vm)
|
||||
{
|
||||
return &vm->debug;
|
||||
}
|
||||
|
||||
VALUE *
|
||||
rb_ruby_verbose_ptr(void)
|
||||
{
|
||||
return ruby_vm_verbose_ptr(GET_VM());
|
||||
rb_ractor_t *cr = GET_RACTOR();
|
||||
return &cr->verbose;
|
||||
}
|
||||
|
||||
VALUE *
|
||||
rb_ruby_debug_ptr(void)
|
||||
{
|
||||
return ruby_vm_debug_ptr(GET_VM());
|
||||
rb_ractor_t *cr = GET_RACTOR();
|
||||
return &cr->debug;
|
||||
}
|
||||
|
||||
/* iseq.c */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue