Avoid using `erlang:now/0`
diff --git a/src/smoosh_priority_queue.erl b/src/smoosh_priority_queue.erl
index b7ede55..6376103 100644
--- a/src/smoosh_priority_queue.erl
+++ b/src/smoosh_priority_queue.erl
@@ -24,8 +24,8 @@
last_updated(Key, #priority_queue{dict=Dict}) ->
case dict:find(Key, Dict) of
- {ok, {_, LastUpdated}} ->
- LastUpdated;
+ {ok, {_Priority, {LastUpdatedMTime, _MInt}}} ->
+ LastUpdatedMTime;
error ->
false
end.
@@ -43,7 +43,8 @@
error ->
Tree
end,
- TreeKey1 = {Priority, now()},
+ Now = {erlang:monotonic_time(), erlang:unique_integer([monotonic])},
+ TreeKey1 = {Priority, Now},
Tree2 = gb_trees:enter(TreeKey1, {Key, Value}, Tree1),
Dict1 = dict:store(Key, TreeKey1, Dict),
truncate(Capacity, #priority_queue{dict=Dict1, tree=Tree2}).
diff --git a/src/smoosh_server.erl b/src/smoosh_server.erl
index 6a79d14..43f4bd8 100644
--- a/src/smoosh_server.erl
+++ b/src/smoosh_server.erl
@@ -28,6 +28,8 @@
status/0
]).
+-define(SECONDS_PER_MINUTE, 60).
+
% gen_server api.
-export([init/1, handle_call/3, handle_cast/2, handle_info/2,
code_change/3, terminate/2]).
@@ -264,9 +266,11 @@
find_channel(Tab, [Channel|Rest], Object) ->
Pid = channel_pid(Tab, Channel),
LastUpdated = smoosh_channel:last_updated(Pid, Object),
- Staleness = 6.0e7 * list_to_integer(config:get("smoosh", "staleness", "5")),
- case LastUpdated =:= false orelse
- timer:now_diff(now(), LastUpdated) > Staleness of
+ StalenessInSec = config:get_integer("smoosh", "staleness", 5)
+ * ?SECONDS_PER_MINUTE,
+ Staleness = erlang:convert_time_unit(StalenessInSec, seconds, native),
+ Now = erlang:monotonic_time(),
+ case LastUpdated =:= false orelse Now - LastUpdated > Staleness of
true ->
case smoosh_utils:ignore_db(Object) of
true ->