diff options
author | Badlop <badlop@process-one.net> | 2009-10-19 18:47:05 +0400 |
---|---|---|
committer | Badlop <badlop@process-one.net> | 2009-10-19 18:47:05 +0400 |
commit | 257e4c34a86e0dfa3c8eb846b5916df13afb5958 (patch) | |
tree | 08cf774d38a6821b3f8431c7a8f8e29a9bd84e1a /src/ejabberd_s2s_out.erl | |
parent | 66cd86e726016f94a5aa42bdec7d2d0621a3bf74 (diff) |
Provide send_timeout_close option in TCP only in R13B or higher (EJAB-926)
SVN Revision: 2680
Diffstat (limited to 'src/ejabberd_s2s_out.erl')
-rw-r--r-- | src/ejabberd_s2s_out.erl | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/ejabberd_s2s_out.erl b/src/ejabberd_s2s_out.erl index 8fb82c07d..726d624ee 100644 --- a/src/ejabberd_s2s_out.erl +++ b/src/ejabberd_s2s_out.erl @@ -265,11 +265,15 @@ 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, case (catch ejabberd_socket:connect(Addr, Port, [binary, {packet, 0}, {send_timeout, ?TCP_SEND_TIMEOUT}, {send_timeout_close, true}, - {active, false}, Type], + {active, false}, Type | SockOpts], Timeout)) of {ok, _Socket} = R -> R; {error, Reason} = R -> |