[ruby/etc] Etc.sysconfdir does not work in a Ractor
* Because it uses RbConfig::CONFIG. * See https://github.com/ruby/ruby/actions/runs/14069312270/job/39399502142#step:12:947 https://github.com/ruby/etc/commit/12dbe03b6a
This commit is contained in:
parent
6bb35a1de4
commit
bfc5b8305d
@ -1172,7 +1172,6 @@ Init_etc(void)
|
|||||||
#ifdef HAVE_RB_EXT_RACTOR_SAFE
|
#ifdef HAVE_RB_EXT_RACTOR_SAFE
|
||||||
RB_EXT_RACTOR_SAFE(true);
|
RB_EXT_RACTOR_SAFE(true);
|
||||||
#endif
|
#endif
|
||||||
rb_define_module_function(mEtc, "sysconfdir", etc_sysconfdir, 0);
|
|
||||||
rb_define_module_function(mEtc, "systmpdir", etc_systmpdir, 0);
|
rb_define_module_function(mEtc, "systmpdir", etc_systmpdir, 0);
|
||||||
rb_define_module_function(mEtc, "uname", etc_uname, 0);
|
rb_define_module_function(mEtc, "uname", etc_uname, 0);
|
||||||
rb_define_module_function(mEtc, "sysconf", etc_sysconf, 1);
|
rb_define_module_function(mEtc, "sysconf", etc_sysconf, 1);
|
||||||
@ -1200,6 +1199,9 @@ Init_etc(void)
|
|||||||
rb_define_module_function(mEtc, "endgrent", etc_endgrent, 0);
|
rb_define_module_function(mEtc, "endgrent", etc_endgrent, 0);
|
||||||
rb_define_module_function(mEtc, "getgrent", etc_getgrent, 0);
|
rb_define_module_function(mEtc, "getgrent", etc_getgrent, 0);
|
||||||
|
|
||||||
|
/* Uses RbConfig::CONFIG so does not work in a Ractor */
|
||||||
|
rb_define_module_function(mEtc, "sysconfdir", etc_sysconfdir, 0);
|
||||||
|
|
||||||
sPasswd = rb_struct_define_under(mEtc, "Passwd",
|
sPasswd = rb_struct_define_under(mEtc, "Passwd",
|
||||||
"name",
|
"name",
|
||||||
#ifdef HAVE_STRUCT_PASSWD_PW_PASSWD
|
#ifdef HAVE_STRUCT_PASSWD_PW_PASSWD
|
||||||
|
@ -179,7 +179,6 @@ class TestEtc < Test::Unit::TestCase
|
|||||||
20.times.map do
|
20.times.map do
|
||||||
Ractor.new do
|
Ractor.new do
|
||||||
1000.times do
|
1000.times do
|
||||||
raise unless String === Etc.sysconfdir
|
|
||||||
raise unless String === Etc.systmpdir
|
raise unless String === Etc.systmpdir
|
||||||
raise unless Hash === Etc.uname
|
raise unless Hash === Etc.uname
|
||||||
if defined?(Etc::SC_CLK_TCK)
|
if defined?(Etc::SC_CLK_TCK)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user