aboutsummaryrefslogtreecommitdiff
path: root/src/mod_blocking.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/mod_blocking.erl')
-rw-r--r--src/mod_blocking.erl13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/mod_blocking.erl b/src/mod_blocking.erl
index dd1f8f741..97c2e8b16 100644
--- a/src/mod_blocking.erl
+++ b/src/mod_blocking.erl
@@ -29,7 +29,7 @@
-protocol({xep, 191, '1.2'}).
--export([start/2, stop/1, process_iq/1, mod_opt_type/1, depends/2,
+-export([start/2, stop/1, reload/3, process_iq/1, mod_opt_type/1, depends/2,
disco_features/5]).
-include("ejabberd.hrl").
@@ -56,6 +56,17 @@ stop(Host) ->
ejabberd_hooks:delete(disco_local_features, Host, ?MODULE, disco_features, 50),
gen_iq_handler:remove_iq_handler(ejabberd_sm, Host, ?NS_BLOCKING).
+reload(Host, NewOpts, OldOpts) ->
+ case gen_mod:is_equal_opt(iqdisc, NewOpts, OldOpts,
+ fun gen_iq_handler:check_type/1,
+ one_queue) of
+ {false, IQDisc, _} ->
+ gen_iq_handler:add_iq_handler(ejabberd_sm, Host, ?NS_BLOCKING,
+ ?MODULE, process_iq, IQDisc);
+ true ->
+ ok
+ end.
+
depends(_Host, _Opts) ->
[{mod_privacy, hard}].