summaryrefslogtreecommitdiff
path: root/vm_core.h
diff options
context:
space:
mode:
authorSamuel Williams <samuel.williams@oriontransfer.co.nz>2022-12-01 23:00:33 +1300
committerGitHub <noreply@github.com>2022-12-01 23:00:33 +1300
commit0436f1e15a8e79ffef5ea412ac1312cbf9f063e6 (patch)
tree456611e5ae13d2c1312a61532ab7a79d642564b6 /vm_core.h
parent9869bd1d612b489df806cf95bcb56965a02424e0 (diff)
downloadruby-0436f1e15a8e79ffef5ea412ac1312cbf9f063e6.tar.gz
Introduce `Fiber#storage` for inheritable fiber-scoped variables. (#6612)
Diffstat (limited to 'vm_core.h')
-rw-r--r--vm_core.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/vm_core.h b/vm_core.h
index b3613367a6..98ac69b1e8 100644
--- a/vm_core.h
+++ b/vm_core.h
@@ -968,6 +968,9 @@ struct rb_execution_context_struct {
VALUE local_storage_recursive_hash;
VALUE local_storage_recursive_hash_for_trace;
+ /* Inheritable fiber storage. */
+ VALUE storage;
+
/* eval env */
const VALUE *root_lep;
VALUE root_svar;
@@ -2010,7 +2013,7 @@ void rb_threadptr_pending_interrupt_clear(rb_thread_t *th);
void rb_threadptr_pending_interrupt_enque(rb_thread_t *th, VALUE v);
VALUE rb_ec_get_errinfo(const rb_execution_context_t *ec);
void rb_ec_error_print(rb_execution_context_t * volatile ec, volatile VALUE errinfo);
-void rb_execution_context_update(const rb_execution_context_t *ec);
+void rb_execution_context_update(rb_execution_context_t *ec);
void rb_execution_context_mark(const rb_execution_context_t *ec);
void rb_fiber_close(rb_fiber_t *fib);
void Init_native_thread(rb_thread_t *th);