From d968829afa19c31e9461fd545cbd21250778ce6e Mon Sep 17 00:00:00 2001 From: Koichi Sasada Date: Wed, 6 Jan 2021 15:30:56 +0900 Subject: expose some C-APIs for ractor expose some C-APIs to try to make ractor utilities on external gems. * add * rb_ractor_local_storage_value_lookup() to check availability * expose * rb_ractor_make_shareable() * rb_ractor_make_shareable_copy() * rb_proc_isolate() (not public) * rb_proc_isolate_bang() (not public) * rb_proc_ractor_make_shareable() (not public) --- ractor.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'ractor.c') diff --git a/ractor.c b/ractor.c index d9a8e07a79..420b2051b2 100644 --- a/ractor.c +++ b/ractor.c @@ -3128,6 +3128,17 @@ rb_ractor_local_storage_value(rb_ractor_local_key_t key) } } +bool +rb_ractor_local_storage_value_lookup(rb_ractor_local_key_t key, VALUE *val) +{ + if (ractor_local_ref(key, (void **)val)) { + return true; + } + else { + return false; + } +} + void rb_ractor_local_storage_value_set(rb_ractor_local_key_t key, VALUE val) { -- cgit v1.2.3