diff options
author | Björn Gustavsson <[email protected]> | 2015-12-07 11:40:38 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2015-12-07 11:40:38 +0100 |
commit | 2b73b1cee4571227bd56e6b661daa6907396ce77 (patch) | |
tree | 3e078c40d849c84015ae678c3254dc047a129073 | |
parent | f258633921e7dd0bd5760281d2a26a0f937e53c4 (diff) | |
parent | 807f0c8904be14c9088ebc41ade885ffac142b34 (diff) | |
download | otp-2b73b1cee4571227bd56e6b661daa6907396ce77.tar.gz otp-2b73b1cee4571227bd56e6b661daa6907396ce77.tar.bz2 otp-2b73b1cee4571227bd56e6b661daa6907396ce77.zip |
Merge branch 'bjorn/stdlib/rand-export_seed/OTP-13162' into maint
* bjorn/stdlib/rand-export_seed/OTP-13162:
Correct rand:export_seed/0 when there is no prior seed
-rw-r--r-- | lib/stdlib/src/rand.erl | 2 | ||||
-rw-r--r-- | lib/stdlib/test/rand_SUITE.erl | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/lib/stdlib/src/rand.erl b/lib/stdlib/src/rand.erl index 8e8d0bc801..dc060e82d9 100644 --- a/lib/stdlib/src/rand.erl +++ b/lib/stdlib/src/rand.erl @@ -63,7 +63,7 @@ %% Return algorithm and seed so that RNG state can be recreated with seed/1 -spec export_seed() -> undefined | export_state(). export_seed() -> - case seed_get() of + case get(?SEED_DICT) of {#{type:=Alg}, Seed} -> {Alg, Seed}; _ -> undefined end. diff --git a/lib/stdlib/test/rand_SUITE.erl b/lib/stdlib/test/rand_SUITE.erl index 111bf620de..03b5ce1a25 100644 --- a/lib/stdlib/test/rand_SUITE.erl +++ b/lib/stdlib/test/rand_SUITE.erl @@ -126,6 +126,9 @@ seed_1(Alg) -> false = (S1 =:= rand:seed_s(Alg)), %% Negative integers works _ = rand:seed_s(Alg, {-1,-1,-1}), + %% Check that export_seed/1 returns 'undefined' if there is no seed + erase(rand_seed), + undefined = rand:export_seed(), %% Other term do not work {'EXIT', _} = (catch rand:seed_s(foobar, os:timestamp())), |