aboutsummaryrefslogtreecommitdiff
path: root/src/mod_multicast.erl
diff options
context:
space:
mode:
authorEvgeny Khramtsov <ekhramtsov@process-one.net>2019-08-04 21:46:18 +0300
committerEvgeny Khramtsov <ekhramtsov@process-one.net>2019-08-04 21:46:18 +0300
commit2168489ddf96a88d4b4885a1a0a986acb25754c5 (patch)
tree6eb6aa952467a4b30977d603cd05c6644c259893 /src/mod_multicast.erl
parentUse tagged version for yconf as well (diff)
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.
Diffstat (limited to 'src/mod_multicast.erl')
-rw-r--r--src/mod_multicast.erl3
1 files changed, 2 insertions, 1 deletions
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)),