Pārlūkot izejas kodu

fix: don't start listener when update stopped listener

Zhongwen Deng 3 gadi atpakaļ
vecāks
revīzija
042b88db2d
1 mainītis faili ar 4 papildinājumiem un 1 dzēšanām
  1. 4 1
      apps/emqx/src/emqx_listeners.erl

+ 4 - 1
apps/emqx/src/emqx_listeners.erl

@@ -375,7 +375,10 @@ pre_config_update(_Path, _Request, RawConf) ->
 post_config_update([listeners, Type, Name], {create, _Request}, NewConf, undefined, _AppEnvs) ->
     start_listener(Type, Name, NewConf);
 post_config_update([listeners, Type, Name], {update, _Request}, NewConf, OldConf, _AppEnvs) ->
-    restart_listener(Type, Name, {OldConf, NewConf});
+    case NewConf of
+        #{<<"enabled">> := true} -> restart_listener(Type, Name, {OldConf, NewConf});
+        _ -> ok
+    end;
 post_config_update([listeners, _Type, _Name], '$remove', undefined, undefined, _AppEnvs) ->
     {error, not_found};
 post_config_update([listeners, Type, Name], '$remove', undefined, OldConf, _AppEnvs) ->