Quellcode durchsuchen

Use emqttd_gc:reset_conn_gc_count/2 API

Feng Lee vor 9 Jahren
Ursprung
Commit
1e36750288
3 geänderte Dateien mit 4 neuen und 4 gelöschten Zeilen
  1. 1 1
      src/emqttd_client.erl
  2. 1 1
      src/emqttd_session.erl
  3. 2 2
      src/emqttd_ws_client.erl

+ 1 - 1
src/emqttd_client.erl

@@ -149,7 +149,7 @@ prioritise_info(Msg, _Len, _State) ->
     case Msg of {redeliver, _} -> 5; _ -> 0 end.
 
 handle_pre_hibernate(State) ->
-    {hibernate, emit_stats(emqttd_gc:reset_conn_gc_count(State))}.
+    {hibernate, emqttd_gc:reset_conn_gc_count(#client_state.force_gc_count, emit_stats(State))}.
 
 handle_call(info, From, State = #client_state{proto_state = ProtoState}) ->
     ProtoInfo  = emqttd_protocol:info(ProtoState),

+ 1 - 1
src/emqttd_session.erl

@@ -341,7 +341,7 @@ prioritise_info(Msg, _Len, _State) ->
     end.
 
 handle_pre_hibernate(State) ->
-    {hibernate, emit_stats(emqttd_gc:reset_conn_gc_count(State))}.
+    {hibernate, emqttd_gc:reset_conn_gc_count(#state.force_gc_count, emit_stats(State))}.
 
 handle_call({publish, Msg = #mqtt_message{qos = ?QOS_2, pktid = PacketId}}, _From,
             State = #state{awaiting_rel      = AwaitingRel,

+ 2 - 2
src/emqttd_ws_client.erl

@@ -112,8 +112,8 @@ prioritise_info(Msg, _Len, _State) ->
     case Msg of {redeliver, _} -> 5; _ -> 0 end.
 
 handle_pre_hibernate(State = #wsclient_state{ws_pid = WsPid}) ->
-    erlang:garbage_collect(WsPid),%%TODO: [{async, RequestId}]??
-    {hibernate, emqttd_gc:reset_conn_gc_count(emit_stats(State))}.
+    erlang:garbage_collect(WsPid),
+    {hibernate, emqttd_gc:reset_conn_gc_count(#wsclient_state.force_gc_count, emit_stats(State))}.
 
 handle_call(info, From, State = #wsclient_state{peername    = Peername,
                                                 proto_state = ProtoState}) ->