From 5e3259ea7490a2542d78c433eb8c9d44c7819e61 Mon Sep 17 00:00:00 2001 From: Koichi Sasada Date: Tue, 17 Nov 2020 16:40:47 +0900 Subject: 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) --- ractor_pub.h | 52 ---------------------------------------------------- 1 file changed, 52 deletions(-) delete mode 100644 ractor_pub.h (limited to 'ractor_pub.h') 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 -- cgit v1.2.3