aboutsummaryrefslogtreecommitdiffstats
path: root/ractor_core.h
diff options
context:
space:
mode:
Diffstat (limited to 'ractor_core.h')
-rw-r--r--ractor_core.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/ractor_core.h b/ractor_core.h
index 6e9a63dc28..b0295155ac 100644
--- a/ractor_core.h
+++ b/ractor_core.h
@@ -123,14 +123,16 @@ struct rb_ractor_struct {
struct list_node vmlr_node;
+ // ractor local data
+
+ st_table *local_storage;
+
VALUE r_stdin;
VALUE r_stdout;
VALUE r_stderr;
VALUE verbose;
VALUE debug;
- struct rb_random_struct *default_rand; // used in random.c
-
// gc.c rb_objspace_reachable_objects_from
struct gc_mark_func_data_struct {
void *data;
@@ -163,9 +165,15 @@ void rb_ractor_vm_barrier_interrupt_running_thread(rb_ractor_t *r);
void rb_ractor_terminate_interrupt_main_thread(rb_ractor_t *r);
void rb_ractor_terminate_all(void);
bool rb_ractor_main_p_(void);
+void rb_ractor_finish_marking(void);
RUBY_SYMBOL_EXPORT_BEGIN
bool rb_ractor_shareable_p_continue(VALUE obj);
+
+// THIS FUNCTION SHOULD NOT CALL WHILE INCREMENTAL MARKING!!
+// This function is for T_DATA::free_func
+void rb_ractor_local_storage_delkey(rb_ractor_local_key_t key);
+
RUBY_SYMBOL_EXPORT_END
RUBY_EXTERN bool ruby_multi_ractor;