diff --git a/src/emqx_plugins.erl b/src/emqx_plugins.erl index ee12ed96a..b5d108f9e 100644 --- a/src/emqx_plugins.erl +++ b/src/emqx_plugins.erl @@ -276,7 +276,11 @@ plugin_unloaded(_Name, false) -> ok; plugin_unloaded(Name, true) -> case read_loaded() of - {ok, Names} -> + {ok, Names0} -> + Names = lists:filtermap(fun(Name) when is_atom(Name) -> {true, Name}; + ({Name, true}) -> {true, Name}; + ({Name, false}) -> false + end, Names0), case lists:member(Name, Names) of true -> write_loaded(lists:delete(Name, Names));