summaryrefslogtreecommitdiff
path: root/ractor.c
diff options
context:
space:
mode:
authorKoichi Sasada <ko1@atdot.net>2021-01-06 15:30:56 +0900
committerKoichi Sasada <ko1@atdot.net>2021-01-06 16:03:09 +0900
commitd968829afa19c31e9461fd545cbd21250778ce6e (patch)
tree8660cc24f35fa3cf3744818cef3569355cb3d51a /ractor.c
parentd9fdca81ac0e4e98314b385b2f245951aaccd50c (diff)
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)
Diffstat (limited to 'ractor.c')
-rw-r--r--ractor.c11
1 files changed, 11 insertions, 0 deletions
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)
{