diff --git a/ext/erb/escape/escape.c b/ext/erb/escape/escape.c index db2abd9..2a5903c 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 783e8c1..b211a97 100644 --- a/ext/erb/escape/extconf.rb +++ b/ext/erb/escape/extconf.rb @@ -4,5 +4,6 @@ when 'jruby', 'truffleruby' File.write('Makefile', dummy_makefile($srcdir).join) else + have_func("rb_ext_ractor_safe", "ruby.h") create_makefile 'erb/escape' end