Преглед изворни кода

chore(channel): remove redundant logs

Multiple sock_closed events may be generated,
so we need to allow sock_closed events to be reentrant
JianBo He пре 4 година
родитељ
комит
c9d39b4d35
1 измењених фајлова са 5 додато и 2 уклоњено
  1. 5 2
      src/emqx_channel.erl

+ 5 - 2
src/emqx_channel.erl

@@ -977,8 +977,11 @@ handle_info({sock_closed, Reason}, Channel =
         Shutdown -> Shutdown
     end;
 
-handle_info({sock_closed, Reason}, Channel = #channel{conn_state = disconnected}) ->
-    ?LOG(error, "Unexpected sock_closed: ~p", [Reason]),
+handle_info({sock_closed, _Reason}, Channel = #channel{conn_state = disconnected}) ->
+    %% Since sock_closed messages can be generated multiple times,
+    %% we can simply ignore errors of this type in the disconnected state.
+    %% e.g. when the socket send function returns an error, there is already
+    %% a tcp_closed delivered to the process mailbox
     {ok, Channel};
 
 handle_info(clean_acl_cache, Channel) ->