From 2168489ddf96a88d4b4885a1a0a986acb25754c5 Mon Sep 17 00:00:00 2001 From: Evgeny Khramtsov Date: Sun, 4 Aug 2019 21:46:18 +0300 Subject: Don't retain module option on gen_mod supervisor When module's options were updated (e.g. by reloading ejabberd.yml) and, later, the module's process crashed, gen_mod supervisor restarts the process with outdated options. This is now fixed. --- src/mod_multicast.erl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/mod_multicast.erl') diff --git a/src/mod_multicast.erl b/src/mod_multicast.erl index 8652188ad..0b35ee2fc 100644 --- a/src/mod_multicast.erl +++ b/src/mod_multicast.erl @@ -151,8 +151,9 @@ user_send_packet(Acc) -> %%==================================================================== -spec init(list()) -> {ok, state()}. -init([LServerS, Opts]) -> +init([LServerS|_]) -> process_flag(trap_exit, true), + Opts = gen_mod:get_module_opts(LServerS, ?MODULE), [LServiceS|_] = gen_mod:get_opt_hosts(Opts), Access = mod_multicast_opt:access(Opts), SLimits = build_service_limit_record(mod_multicast_opt:limits(Opts)), -- cgit v1.2.3