aboutsummaryrefslogtreecommitdiff
path: root/src/mod_proxy65/mod_proxy65.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2010-11-17 18:13:19 +0900
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2010-11-17 18:13:19 +0900
commita0e2e943b49e84bf00b7bc5bf6c657b57c2869f6 (patch)
tree88194c7e30c00604d2507f8db4b680a7f5f3163c /src/mod_proxy65/mod_proxy65.erl
parentUse MEDIUMTEXT type for vcard avatars in MySQL schema (EJAB-1252) (diff)
Do not start mod_proxy65 if it is unable to bind an address (EJAB-1336)
Diffstat (limited to 'src/mod_proxy65/mod_proxy65.erl')
-rw-r--r--src/mod_proxy65/mod_proxy65.erl18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/mod_proxy65/mod_proxy65.erl b/src/mod_proxy65/mod_proxy65.erl
index 27e723c96..bd0d54bb7 100644
--- a/src/mod_proxy65/mod_proxy65.erl
+++ b/src/mod_proxy65/mod_proxy65.erl
@@ -42,13 +42,17 @@
-define(PROCNAME, ejabberd_mod_proxy65).
start(Host, Opts) ->
- mod_proxy65_service:add_listener(Host, Opts),
- Proc = gen_mod:get_module_proc(Host, ?PROCNAME),
- ChildSpec = {
- Proc, {?MODULE, start_link, [Host, Opts]},
- transient, infinity, supervisor, [?MODULE]
- },
- supervisor:start_child(ejabberd_sup, ChildSpec).
+ case mod_proxy65_service:add_listener(Host, Opts) of
+ {error, _} = Err ->
+ erlang:error(Err);
+ _ ->
+ Proc = gen_mod:get_module_proc(Host, ?PROCNAME),
+ ChildSpec = {
+ Proc, {?MODULE, start_link, [Host, Opts]},
+ transient, infinity, supervisor, [?MODULE]
+ },
+ supervisor:start_child(ejabberd_sup, ChildSpec)
+ end.
stop(Host) ->
mod_proxy65_service:delete_listener(Host),