Fix OTP version detection to work with old supported R10 and R11

SVN Revision: 2906
This commit is contained in:
Badlop 2010-01-16 12:24:11 +00:00
parent 3e4858f348
commit 86794b1d23
2 changed files with 12 additions and 8 deletions

View File

@ -128,10 +128,12 @@ init_udp(PortIP, Module, Opts, SockOpts, Port, IPS) ->
end.
init_tcp(PortIP, Module, Opts, SockOpts, Port, IPS) ->
SockOpts2 = case erlang:system_info(otp_release) >= "R13B" of
true -> [{send_timeout_close, true} | SockOpts];
false -> SockOpts
end,
SockOpts2 = try erlang:system_info(otp_release) >= "R13B" of
true -> [{send_timeout_close, true} | SockOpts];
false -> SockOpts
catch
_:_ -> []
end,
Res = gen_tcp:listen(Port, [binary,
{packet, 0},
{active, false},

View File

@ -265,10 +265,12 @@ open_socket1(Host, Port) ->
open_socket2(Type, Addr, Port) ->
?DEBUG("s2s_out: connecting to ~p:~p~n", [Addr, Port]),
Timeout = outgoing_s2s_timeout(),
SockOpts = case erlang:system_info(otp_release) >= "R13B" of
true -> [{send_timeout_close, true}];
false -> []
end,
SockOpts = try erlang:system_info(otp_release) >= "R13B" of
true -> [{send_timeout_close, true}];
false -> []
catch
_:_ -> []
end,
case (catch ejabberd_socket:connect(Addr, Port,
[binary, {packet, 0},
{send_timeout, ?TCP_SEND_TIMEOUT},