aboutsummaryrefslogtreecommitdiff
path: root/src/mod_irc/mod_irc_connection.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/mod_irc/mod_irc_connection.erl')
-rw-r--r--src/mod_irc/mod_irc_connection.erl12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/mod_irc/mod_irc_connection.erl b/src/mod_irc/mod_irc_connection.erl
index 8343a6f92..869b2e864 100644
--- a/src/mod_irc/mod_irc_connection.erl
+++ b/src/mod_irc/mod_irc_connection.erl
@@ -13,7 +13,7 @@
-behaviour(gen_fsm).
%% External exports
--export([start/5, route_chan/4, route_nick/3]).
+-export([start_link/5, start/6, route_chan/4, route_nick/3]).
%% gen_fsm callbacks
-export([init/1,
@@ -47,8 +47,14 @@
%%%----------------------------------------------------------------------
%%% API
%%%----------------------------------------------------------------------
-start(From, Host, Server, Username, Encoding) ->
- gen_fsm:start(?MODULE, [From, Host, Server, Username, Encoding], ?FSMOPTS).
+start(From, Host, ServerHost, Server, Username, Encoding) ->
+ Supervisor = gen_mod:get_module_proc(ServerHost, ejabberd_mod_irc_sup),
+ supervisor:start_child(
+ Supervisor, [From, Host, Server, Username, Encoding]).
+
+start_link(From, Host, Server, Username, Encoding) ->
+ gen_fsm:start_link(?MODULE, [From, Host, Server, Username, Encoding],
+ ?FSMOPTS).
%%%----------------------------------------------------------------------
%%% Callback functions from gen_fsm