summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/erb/escape/escape.c4
-rw-r--r--ext/erb/escape/extconf.rb1
2 files changed, 5 insertions, 0 deletions
diff --git a/ext/erb/escape/escape.c b/ext/erb/escape/escape.c
index db2abd9773..2a5903c3b7 100644
--- a/ext/erb/escape/escape.c
+++ b/ext/erb/escape/escape.c
@@ -89,6 +89,10 @@ erb_escape_html(VALUE self, VALUE str)
void
Init_escape(void)
{
+#ifdef HAVE_RB_EXT_RACTOR_SAFE
+ rb_ext_ractor_safe(true);
+#endif
+
rb_cERB = rb_define_class("ERB", rb_cObject);
rb_mEscape = rb_define_module_under(rb_cERB, "Escape");
rb_define_module_function(rb_mEscape, "html_escape", erb_escape_html, 1);
diff --git a/ext/erb/escape/extconf.rb b/ext/erb/escape/extconf.rb
index 783e8c1f55..b211a9783f 100644
--- a/ext/erb/escape/extconf.rb
+++ b/ext/erb/escape/extconf.rb
@@ -4,5 +4,6 @@ case RUBY_ENGINE
when 'jruby', 'truffleruby'
File.write('Makefile', dummy_makefile($srcdir).join)
else
+ have_func("rb_ext_ractor_safe", "ruby.h")
create_makefile 'erb/escape'
end