emqttd:seed_now/0 to replace random:seed(now())

This commit is contained in:
Feng 2016-01-24 13:42:22 +08:00
parent 3af624a6c3
commit 22a282e39e
5 changed files with 14 additions and 6 deletions

View File

@ -29,7 +29,7 @@
-export([start/0, env/1, env/2, -export([start/0, env/1, env/2,
start_listeners/0, stop_listeners/0, start_listeners/0, stop_listeners/0,
load_all_mods/0, is_mod_enabled/1, load_all_mods/0, is_mod_enabled/1,
is_running/1]). is_running/1, seed_now/0]).
%% Utility functions. %% Utility functions.
-export([reg_name/2]). -export([reg_name/2]).
@ -139,3 +139,12 @@ is_running(Node) ->
reg_name(M, Id) when is_atom(M), is_integer(Id) -> reg_name(M, Id) when is_atom(M), is_integer(Id) ->
list_to_atom(lists:concat([M, "_", Id])). list_to_atom(lists:concat([M, "_", Id])).
seed_now() ->
case erlang:function_exported(erlang, timestamp, 0) of
true -> %% R18
random:seed(erlang:timestamp());
false ->
%% compress 'now()' warning...
random:seed(os:timestamp())
end.

View File

@ -142,8 +142,7 @@ md5_hash(SaltBin, Password) ->
erlang:md5(<<SaltBin/binary, Password/binary>>). erlang:md5(<<SaltBin/binary, Password/binary>>).
salt() -> salt() ->
{A1,A2,A3} = now(), emqttd:seed_now(),
random:seed(A1, A2, A3),
Salt = random:uniform(16#ffffffff), Salt = random:uniform(16#ffffffff),
<<Salt:32>>. <<Salt:32>>.

View File

@ -218,7 +218,7 @@ stop_tick(TRef) ->
%%%============================================================================= %%%=============================================================================
init([]) -> init([]) ->
random:seed(os:timestamp()), emqttd:seed_now(),
ets:new(?BROKER_TAB, [set, public, named_table]), ets:new(?BROKER_TAB, [set, public, named_table]),
% Create $SYS Topics % Create $SYS Topics
emqttd_pubsub:create(topic, <<"$SYS/brokers">>), emqttd_pubsub:create(topic, <<"$SYS/brokers">>),

View File

@ -283,7 +283,7 @@ key(counter, Metric) ->
%%%============================================================================= %%%=============================================================================
init([]) -> init([]) ->
random:seed(os:timestamp()), emqttd:seed_now(),
Metrics = ?SYSTOP_BYTES ++ ?SYSTOP_PACKETS ++ ?SYSTOP_MESSAGES, Metrics = ?SYSTOP_BYTES ++ ?SYSTOP_PACKETS ++ ?SYSTOP_MESSAGES,
% Create metrics table % Create metrics table
ets:new(?METRIC_TAB, [set, public, named_table, {write_concurrency, true}]), ets:new(?METRIC_TAB, [set, public, named_table, {write_concurrency, true}]),

View File

@ -143,7 +143,7 @@ setstats(Stat, MaxStat, Val) ->
%%%============================================================================= %%%=============================================================================
init([]) -> init([]) ->
random:seed(os:timestamp()), emqttd:seed_now(),
ets:new(?STATS_TAB, [set, public, named_table, {write_concurrency, true}]), ets:new(?STATS_TAB, [set, public, named_table, {write_concurrency, true}]),
Topics = ?SYSTOP_CLIENTS ++ ?SYSTOP_SESSIONS ++ ?SYSTOP_PUBSUB ++ ?SYSTOP_RETAINED, Topics = ?SYSTOP_CLIENTS ++ ?SYSTOP_SESSIONS ++ ?SYSTOP_PUBSUB ++ ?SYSTOP_RETAINED,
ets:insert(?STATS_TAB, [{Topic, 0} || Topic <- Topics]), ets:insert(?STATS_TAB, [{Topic, 0} || Topic <- Topics]),