mirror of
https://github.com/processone/ejabberd
synced 2025-10-03 17:59:31 +02:00
* src/ejabberd_listener.erl: Define send timeout option to avoid blocking on socket send (EJAB-746).
* src/ejabberd_s2s_out.erl: Likewise. SVN Revision: 1784
This commit is contained in:
parent
a1f0ad3300
commit
f0af10e600
3 changed files with 17 additions and 3 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2009-01-08 Mickael Remond <mremond@process-one.net>
|
||||||
|
|
||||||
|
* src/ejabberd_listener.erl: Define send timeout option to avoid
|
||||||
|
blocking on socket send (EJAB-746).
|
||||||
|
* src/ejabberd_s2s_out.erl: Likewise.
|
||||||
|
|
||||||
2009-01-08 Christophe Romain <christophe.romain@process-one.net>
|
2009-01-08 Christophe Romain <christophe.romain@process-one.net>
|
||||||
|
|
||||||
* src/mod_pubsub/mod_pubsub.erl: completely support subscription using
|
* src/mod_pubsub/mod_pubsub.erl: completely support subscription using
|
||||||
|
|
|
@ -38,6 +38,9 @@
|
||||||
|
|
||||||
-include("ejabberd.hrl").
|
-include("ejabberd.hrl").
|
||||||
|
|
||||||
|
%% We do not block on send anymore.
|
||||||
|
-define(TCP_SEND_TIMEOUT, 15000).
|
||||||
|
|
||||||
start_link() ->
|
start_link() ->
|
||||||
supervisor:start_link({local, ejabberd_listeners}, ?MODULE, []).
|
supervisor:start_link({local, ejabberd_listeners}, ?MODULE, []).
|
||||||
|
|
||||||
|
@ -100,6 +103,7 @@ init(Port, Module, Opts) ->
|
||||||
{active, false},
|
{active, false},
|
||||||
{reuseaddr, true},
|
{reuseaddr, true},
|
||||||
{nodelay, true},
|
{nodelay, true},
|
||||||
|
{send_timeout, ?TCP_SEND_TIMEOUT},
|
||||||
{keepalive, true} |
|
{keepalive, true} |
|
||||||
SockOpts]),
|
SockOpts]),
|
||||||
case Res of
|
case Res of
|
||||||
|
|
|
@ -95,6 +95,9 @@
|
||||||
%% -define(FSMLIMITS, [{max_queue, 2000}]).
|
%% -define(FSMLIMITS, [{max_queue, 2000}]).
|
||||||
-define(FSMTIMEOUT, 30000).
|
-define(FSMTIMEOUT, 30000).
|
||||||
|
|
||||||
|
%% We do not block on send anymore.
|
||||||
|
-define(TCP_SEND_TIMEOUT, 15000).
|
||||||
|
|
||||||
%% Maximum delay to wait before retrying to connect after a failed attempt.
|
%% Maximum delay to wait before retrying to connect after a failed attempt.
|
||||||
%% Specified in miliseconds. Default value is 5 minutes.
|
%% Specified in miliseconds. Default value is 5 minutes.
|
||||||
-define(MAX_RETRY_DELAY, 300000).
|
-define(MAX_RETRY_DELAY, 300000).
|
||||||
|
@ -267,6 +270,7 @@ open_socket2(Type, Addr, Port) ->
|
||||||
Timeout = outgoing_s2s_timeout(),
|
Timeout = outgoing_s2s_timeout(),
|
||||||
case (catch ejabberd_socket:connect(Addr, Port,
|
case (catch ejabberd_socket:connect(Addr, Port,
|
||||||
[binary, {packet, 0},
|
[binary, {packet, 0},
|
||||||
|
{send_timeout, ?TCP_SEND_TIMEOUT},
|
||||||
{active, false}, Type],
|
{active, false}, Type],
|
||||||
Timeout)) of
|
Timeout)) of
|
||||||
{ok, _Socket} = R -> R;
|
{ok, _Socket} = R -> R;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue