summaryrefslogtreecommitdiff
path: root/ractor_pub.h
diff options
context:
space:
mode:
authorKoichi Sasada <[email protected]>2020-11-17 16:40:47 +0900
committerKoichi Sasada <[email protected]>2020-11-18 03:52:41 +0900
commit5e3259ea7490a2542d78c433eb8c9d44c7819e61 (patch)
tree1a280e725a2c66ca776086661e3b707fd73f4577 /ractor_pub.h
parent0683912db888b0421ce4c40ad450ccf75ad7e3f4 (diff)
fix public interface
To make some kind of Ractor related extensions, some functions should be exposed. * include/ruby/thread_native.h * rb_native_mutex_* * rb_native_cond_* * include/ruby/ractor.h * RB_OBJ_SHAREABLE_P(obj) * rb_ractor_shareable_p(obj) * rb_ractor_std*() * rb_cRactor and rm ractor_pub.h and rename srcdir/ractor.h to srcdir/ractor_core.h (to avoid conflict with include/ruby/ractor.h)
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/3775
Diffstat (limited to 'ractor_pub.h')
-rw-r--r--ractor_pub.h52
1 files changed, 0 insertions, 52 deletions
diff --git a/ractor_pub.h b/ractor_pub.h
deleted file mode 100644
index f2869276f6..0000000000
--- a/ractor_pub.h
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifndef RACTOR_PUB_INCLUDED
-#define RACTOR_PUB_INCLUDED
-
-RUBY_EXTERN bool ruby_multi_ractor;
-
-bool rb_ractor_main_p_(void);
-
-static inline bool
-rb_ractor_main_p(void)
-{
- if (!ruby_multi_ractor) {
- return true;
- }
- else {
- return rb_ractor_main_p_();
- }
-}
-
-bool rb_ractor_shareable_p_continue(VALUE obj);
-
-#define RB_OBJ_SHAREABLE_P(obj) FL_TEST_RAW((obj), RUBY_FL_SHAREABLE)
-
-// TODO: deep frozen
-
-static inline bool
-rb_ractor_shareable_p(VALUE obj)
-{
- if (SPECIAL_CONST_P(obj)) {
- return true;
- }
- else if (RB_OBJ_SHAREABLE_P(obj)) {
- return true;
- }
- else {
- return rb_ractor_shareable_p_continue(obj);
- }
-}
-
-VALUE rb_ractor_make_shareable(VALUE obj);
-
-RUBY_SYMBOL_EXPORT_BEGIN
-
-VALUE rb_ractor_stdin(void);
-VALUE rb_ractor_stdout(void);
-VALUE rb_ractor_stderr(void);
-void rb_ractor_stdin_set(VALUE);
-void rb_ractor_stdout_set(VALUE);
-void rb_ractor_stderr_set(VALUE);
-
-RUBY_SYMBOL_EXPORT_END
-
-#endif