From 369d2c6d4ff1bd3e87efd8477e334681de98eede Mon Sep 17 00:00:00 2001 From: RJ Date: Sat, 31 Oct 2009 22:46:22 +0000 Subject: [PATCH] catch crash on timeout in playdartcp_resolver connect --- playdar_modules/playdar-tcp/src/playdartcp_resolver.erl | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/playdar_modules/playdar-tcp/src/playdartcp_resolver.erl b/playdar_modules/playdar-tcp/src/playdartcp_resolver.erl index 2d499ab..b9e8ce3 100644 --- a/playdar_modules/playdar-tcp/src/playdartcp_resolver.erl +++ b/playdar_modules/playdar-tcp/src/playdartcp_resolver.erl @@ -35,8 +35,11 @@ reader_protocols() -> init([]) -> {ok,_} = playdartcp_router:start_link(?CONFVAL({playdartcp,port},60211)), - % Connect to any peers listed in the config file: - lists:foreach(fun({Ip,Port})->playdartcp_router:connect(Ip,Port)end, ?CONFVAL({playdartcp,peers},[])), + % Connect to any peers listed in the config file + % the connect call will timeout+crash if connection fails + lists:foreach(fun({Ip,Port})-> + (catch playdartcp_router:connect(Ip,Port)) + end, ?CONFVAL({playdartcp,peers},[])), % Register us as a playdar resolver playdar_resolver:add_resolver(?MODULE, self()), % Register our web request handler (for our localhost web gui)