Bug #13753 ยป 0001-Re-initialise-Random-DEFAULT-after-forking-Bug-13753.patch
random.c | ||
---|---|---|
{
|
||
rb_random_t *r = &default_rand;
|
||
uninit_genrand(&r->mt);
|
||
r->seed = INT2FIX(0);
|
||
rand_start(r);
|
||
}
|
||
/*
|
test/ruby/test_rand.rb | ||
---|---|---|
rescue NotImplementedError
|
||
end
|
||
def test_default_rand_reseed_after_fork
|
||
r1 = Random::DEFAULT.rand(42).to_s
|
||
r2 = assert_fork_status(1, 'Random::DEFAULT reseed after fork') { Random::DEFAULT.rand(42) }
|
||
assert_not_equal(r1, r2, 'Random::DEFAULT correctly reseeded after fork')
|
||
end
|
||
def test_seed
|
||
bug3104 = '[ruby-core:29292]'
|
||
rand_1 = Random.new(-1).rand
|