aboutsummaryrefslogtreecommitdiffstats
path: root/lib/sasl/src/overload.erl
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2010-03-08 14:42:03 +0100
committerBjörn Gustavsson <[email protected]>2010-03-08 15:36:00 +0100
commitdff8572b12a00155e2cf6f21677af6dd9a3ffeb6 (patch)
treee18eefe6f1435ad100f4a25f5e83000c85c58f8c /lib/sasl/src/overload.erl
parentdfd80f7cea795bfb3a35eaea2c0bc98960002aa2 (diff)
downloadotp-dff8572b12a00155e2cf6f21677af6dd9a3ffeb6.tar.gz
otp-dff8572b12a00155e2cf6f21677af6dd9a3ffeb6.tar.bz2
otp-dff8572b12a00155e2cf6f21677af6dd9a3ffeb6.zip
sasl: Use gen_server:call/3 with infinity timeout
gen_server:call/2,3 now sets up a monitor to make sure that it will be noticed if the called process dies. Therefore, there is almost never a good reason to use gen_server:call/2 with its default 5 seconds timeout. Use gen_server:call/3 with the 'infinity' timeout instead. To make sure we use the 'infinity' timeout every time, wrap the to call gen_server:call/3 in a local call/1 function in each module.
Diffstat (limited to 'lib/sasl/src/overload.erl')
-rw-r--r--lib/sasl/src/overload.erl12
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/sasl/src/overload.erl b/lib/sasl/src/overload.erl
index 3a9a51e8bf..0deca868be 100644
--- a/lib/sasl/src/overload.erl
+++ b/lib/sasl/src/overload.erl
@@ -71,7 +71,7 @@ init([]) ->
%% establish a call.
%% Returns: accept | reject
%%-----------------------------------------------------------------
-request() -> gen_server:call(overload, request).
+request() -> call(request).
%%-----------------------------------------------------------------
%% Func: set_config_data/2
@@ -82,13 +82,19 @@ request() -> gen_server:call(overload, request).
%% documented at all.
%%-----------------------------------------------------------------
set_config_data(MaxIntensity, Weight) ->
- gen_server:call(overload, {set_config_data, MaxIntensity, Weight}).
+ call({set_config_data, MaxIntensity, Weight}).
%%-----------------------------------------------------------------
%% Func: get_overload_info/0
%% Returns: A list of tagged items: TotalIntensity, AcceptIntensity,
%% MaxIntensity, Weight, TotalRequests, AcceptedRequests.
%%-----------------------------------------------------------------
-get_overload_info() -> gen_server:call(overload, get_overload_info).
+get_overload_info() -> call(get_overload_info).
+
+%%-----------------------------------------------------------------
+%% call(Request) -> Term
+%%-----------------------------------------------------------------
+call(Req) ->
+ gen_server:call(overload, Req, infinity).
%%%-----------------------------------------------------------------
%%% Callback functions from gen_server