Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/processone/ejabberd.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBadlop <badlop@process-one.net>2009-10-19 18:47:05 +0400
committerBadlop <badlop@process-one.net>2009-10-19 18:47:05 +0400
commit257e4c34a86e0dfa3c8eb846b5916df13afb5958 (patch)
tree08cf774d38a6821b3f8431c7a8f8e29a9bd84e1a /src/ejabberd_s2s_out.erl
parent66cd86e726016f94a5aa42bdec7d2d0621a3bf74 (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.erl6
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 ->