]> granicus.if.org Git - ejabberd/commitdiff
mod_stream_mgmt: Delete 'c2s_init' hook
authorHolger Weiss <holger@zedat.fu-berlin.de>
Thu, 17 Aug 2017 16:25:06 +0000 (18:25 +0200)
committerHolger Weiss <holger@zedat.fu-berlin.de>
Thu, 17 Aug 2017 16:25:06 +0000 (18:25 +0200)
Delete the 'c2s_init' hook when the last 'mod_stream_mgmt' instance is
stopped.

src/mod_stream_mgmt.erl

index e9da40f56ab09710cc8332f5cd9d57b1ee9900a0..2f6b0fc716d7d1281f1db32a2d928741ad609731 100644 (file)
@@ -71,7 +71,12 @@ start(Host, _Opts) ->
     ejabberd_hooks:add(c2s_terminated, Host, ?MODULE, c2s_terminated, 50).
 
 stop(Host) ->
-    %% TODO: do something with global 'c2s_init' hook
+    case gen_mod:is_loaded_elsewhere(Host, ?MODULE) of
+       true ->
+           ok;
+       false ->
+           ejabberd_hooks:delete(c2s_init, ?MODULE, c2s_stream_init, 50)
+    end,
     ejabberd_hooks:delete(c2s_stream_started, Host, ?MODULE,
                          c2s_stream_started, 50),
     ejabberd_hooks:delete(c2s_post_auth_features, Host, ?MODULE,