diff options
author | Alexey Shchepin <alexey@process-one.net> | 2003-01-28 22:45:13 +0300 |
---|---|---|
committer | Alexey Shchepin <alexey@process-one.net> | 2003-01-28 22:45:13 +0300 |
commit | 275b31b0cf7c91a549a996b9c714def5bac5c4a4 (patch) | |
tree | d668270265dd3402075cb3949bad11599d61dbf7 /src/mod_echo.erl | |
parent | aed24c637fea62e0a72636fd0a1714a9ecd16a6b (diff) |
*** empty log message ***
SVN Revision: 52
Diffstat (limited to 'src/mod_echo.erl')
-rw-r--r-- | src/mod_echo.erl | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/mod_echo.erl b/src/mod_echo.erl index 03a25d25e..5f02c4002 100644 --- a/src/mod_echo.erl +++ b/src/mod_echo.erl @@ -12,7 +12,7 @@ -behaviour(gen_mod). --export([start/1, init/1]). +-export([start/1, init/1, stop/0]). -include("ejabberd.hrl"). -include("namespaces.hrl"). @@ -22,18 +22,24 @@ start(Opts) -> %Host = gen_mod:get_opt(host, Opts), Host = gen_mod:get_opt(host, Opts, "echo." ++ ?MYNAME), - spawn(?MODULE, init, [Host]). + register(ejabberd_mod_echo, spawn(?MODULE, init, [Host])). init(Host) -> ejabberd_router:register_local_route(Host), - loop(). + loop(Host). -loop() -> +loop(Host) -> receive {route, From, To, Packet} -> ejabberd_router:route(To, From, Packet), - loop(); + loop(Host); + stop -> + ejabberd_router:unregister_local_route(Host), + ok; _ -> - loop() + loop(Host) end. +stop() -> + ejabberd_mod_echo ! stop, + ok. |