aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2015-12-07 11:49:11 +0100
committerBjörn Gustavsson <[email protected]>2015-12-07 11:49:11 +0100
commite656b6e26de27db6a4235961f7e667998d3a2832 (patch)
tree149ac9bf4918899b2e8039238b8f9e152a8aa6d2
parent9ffec8e28809e74d44ed715ad3191c45da019c24 (diff)
parent2b73b1cee4571227bd56e6b661daa6907396ce77 (diff)
downloadotp-e656b6e26de27db6a4235961f7e667998d3a2832.tar.gz
otp-e656b6e26de27db6a4235961f7e667998d3a2832.tar.bz2
otp-e656b6e26de27db6a4235961f7e667998d3a2832.zip
Merge branch 'maint'
* maint: Correct rand:export_seed/0 when there is no prior seed
-rw-r--r--lib/stdlib/src/rand.erl2
-rw-r--r--lib/stdlib/test/rand_SUITE.erl3
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())),