diff options
-rw-r--r-- | ractor.c | 8 | ||||
-rw-r--r-- | ractor_core.h | 2 |
2 files changed, 10 insertions, 0 deletions
@@ -2531,6 +2531,14 @@ rb_ractor_ensure_shareable(VALUE obj, VALUE name) return obj; } +void +rb_ractor_ensure_main_ractor(const char *msg) +{ + if (!rb_ractor_main_p()) { + rb_raise(rb_eRactorIsolationError, "%s", msg); + } +} + static enum obj_traverse_iterator_result shareable_p_enter(VALUE obj) { diff --git a/ractor_core.h b/ractor_core.h index a3bc90febf..f0bdec212f 100644 --- a/ractor_core.h +++ b/ractor_core.h @@ -185,6 +185,8 @@ void rb_ractor_atfork(rb_vm_t *vm, rb_thread_t *th); VALUE rb_ractor_ensure_shareable(VALUE obj, VALUE name); +void rb_ractor_ensure_main_ractor(const char *msg); + RUBY_SYMBOL_EXPORT_BEGIN bool rb_ractor_shareable_p_continue(VALUE obj); |