]> granicus.if.org Git - ejabberd/commitdiff
Use system_time/1 instead of monotonic_time/1
authorEvgeny Khramtsov <ekhramtsov@process-one.net>
Thu, 6 Jun 2019 18:26:50 +0000 (21:26 +0300)
committerEvgeny Khramtsov <ekhramtsov@process-one.net>
Thu, 6 Jun 2019 18:26:50 +0000 (21:26 +0300)
The value of monotonic_time/1 may differ significantly between
nodes in a cluster due to different erlang:time_offset/0 values.

Thanks to Christoph Scholz for spotting this

src/mod_muc.erl
src/mod_muc_room.erl

index a3447b2811e4e18c2385179349beef41709de1ed..e546a94a9fa0df51231aa08e66aaaf296425d5e3 100644 (file)
@@ -744,7 +744,7 @@ get_room_disco_item({Name, Host, Pid},
                    {get_disco_item, Filter, JID, Lang}) ->
     RoomJID = jid:make(Name, Host),
     Timeout = 100,
-    Time = erlang:monotonic_time(millisecond),
+    Time = erlang:system_time(millisecond),
     Query1 = {get_disco_item, Filter, JID, Lang, Time+Timeout},
     try p1_fsm:sync_send_all_state_event(Pid, Query1, Timeout) of
        {item, Desc} ->
index 2d386512020491dcffd0b273a4f2e20de32563d0..79b94e74d5eb795a2014122fd0fcab69f6b53f4e 100644 (file)
@@ -521,7 +521,7 @@ handle_sync_event({get_disco_item, Filter, JID, Lang, Time}, _From, StateName, S
        false ->
            false
     end,
-    CurrentTime = erlang:monotonic_time(millisecond),
+    CurrentTime = erlang:system_time(millisecond),
     if CurrentTime < Time ->
            {reply, Reply, StateName, StateData};
        true ->