diff options
-rw-r--r-- | ext/openssl/ossl_config.c | 2 | ||||
-rw-r--r-- | test/openssl/test_config.rb | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/ext/openssl/ossl_config.c b/ext/openssl/ossl_config.c index 3b387239ab..ee2ff6786f 100644 --- a/ext/openssl/ossl_config.c +++ b/ext/openssl/ossl_config.c @@ -22,7 +22,7 @@ static const rb_data_type_t ossl_config_type = { { 0, nconf_free, }, - 0, 0, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED, + 0, 0, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | RUBY_TYPED_FROZEN_SHAREABLE, }; CONF * diff --git a/test/openssl/test_config.rb b/test/openssl/test_config.rb index f165ca4934..759a5bbd44 100644 --- a/test/openssl/test_config.rb +++ b/test/openssl/test_config.rb @@ -277,6 +277,15 @@ __EOC__ assert_equal(@it.sections.sort, c2.sections.sort) end + if respond_to?(:ractor) + ractor + def test_ractor + assert(Ractor.shareable?(@it)) + assert(Ractor.shareable?(OpenSSL::Config.parse("[empty]\n"))) + assert(Ractor.shareable?(OpenSSL::Config::DEFAULT_CONFIG_FILE)) + end + end + private def in_tmpdir(*args) |