summaryrefslogtreecommitdiff
path: root/src/mod_proxy65.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_proxy65.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_proxy65.erl')
-rw-r--r--src/mod_proxy65.erl13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/mod_proxy65.erl b/src/mod_proxy65.erl
index 61e09439..718f49cb 100644
--- a/src/mod_proxy65.erl
+++ b/src/mod_proxy65.erl
@@ -39,7 +39,7 @@
%% supervisor callbacks.
-export([init/1]).
--export([start_link/2, mod_opt_type/1, mod_options/1, depends/2]).
+-export([start_link/1, mod_opt_type/1, mod_options/1, depends/2]).
-define(PROCNAME, ejabberd_mod_proxy65).
@@ -59,7 +59,7 @@ start(Host, Opts) ->
Mod = gen_mod:ram_db_mod(global, ?MODULE),
Mod:init(),
Proc = gen_mod:get_module_proc(Host, ?PROCNAME),
- ChildSpec = {Proc, {?MODULE, start_link, [Host, Opts]},
+ ChildSpec = {Proc, {?MODULE, start_link, [Host]},
transient, infinity, supervisor, [?MODULE]},
supervisor:start_child(ejabberd_gen_mod_sup, ChildSpec)
end.
@@ -80,14 +80,13 @@ reload(Host, NewOpts, OldOpts) ->
Mod:init(),
mod_proxy65_service:reload(Host, NewOpts, OldOpts).
-start_link(Host, Opts) ->
+start_link(Host) ->
Proc = gen_mod:get_module_proc(Host, ?PROCNAME),
- supervisor:start_link({local, Proc}, ?MODULE,
- [Host, Opts]).
+ supervisor:start_link({local, Proc}, ?MODULE, [Host]).
-init([Host, Opts]) ->
+init([Host]) ->
Service = {mod_proxy65_service,
- {mod_proxy65_service, start_link, [Host, Opts]},
+ {mod_proxy65_service, start_link, [Host]},
transient, 5000, worker, [mod_proxy65_service]},
{ok, {{one_for_one, 10, 1}, [Service]}}.