1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

per-ractor Random::DEFAULT

Random generators are not Ractor-safe, so we need to prepare
per-ractor default random genearators. This patch set
`Random::DEFAULT = Randm` (not a Random instance, but the Random
class) and singleton methods like `Random.rand()` use a per-ractor
random generator.

[Feature #17322]
This commit is contained in:
Koichi Sasada 2020-11-26 04:25:42 +09:00
parent 8ce1711c25
commit 2db2fb9f6c
Notes: git 2020-11-27 17:03:56 +09:00
5 changed files with 65 additions and 51 deletions

View file

@ -1,8 +1,21 @@
require_relative '../../spec_helper'
describe "Random::DEFAULT" do
it "returns a Random instance" do
Random::DEFAULT.should be_an_instance_of(Random)
it "returns a random number generator" do
Random::DEFAULT.should respond_to(:rand)
end
ruby_version_is ''...'3.0' do
it "returns a Random instance" do
Random::DEFAULT.should be_an_instance_of(Random)
end
end
ruby_version_is '3.0' do
it "returns a Random instance" do
Random::DEFAULT.should be_an_instance_of(Class)
end
end
it "changes seed on reboot" do