aboutsummaryrefslogtreecommitdiffstats
path: root/lib/sasl/src/rb.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/rb.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/rb.erl')
-rw-r--r--lib/sasl/src/rb.erl29
1 files changed, 18 insertions, 11 deletions
diff --git a/lib/sasl/src/rb.erl b/lib/sasl/src/rb.erl
index 332a99c6f9..38e486b7a7 100644
--- a/lib/sasl/src/rb.erl
+++ b/lib/sasl/src/rb.erl
@@ -53,35 +53,35 @@ start_link(Options) ->
gen_server:start_link({local, rb_server}, rb, Options, []).
stop() ->
- gen_server:call(rb_server, stop),
+ call(stop),
supervisor:delete_child(sasl_sup, rb_server).
rescan() -> rescan([]).
rescan(Options) ->
- gen_server:call(rb_server, {rescan, Options}, infinity).
+ call({rescan, Options}).
list() -> list(all).
-list(Type) -> gen_server:call(rb_server, {list, Type}, infinity).
+list(Type) -> call({list, Type}).
show() ->
- gen_server:call(rb_server, show, infinity).
+ call(show).
show(Number) when is_integer(Number) ->
- gen_server:call(rb_server, {show_number, Number}, infinity);
+ call({show_number, Number});
show(Type) when is_atom(Type) ->
- gen_server:call(rb_server, {show_type, Type}, infinity).
+ call({show_type, Type}).
-grep(RegExp) -> gen_server:call(rb_server, {grep, RegExp}, infinity).
+grep(RegExp) -> call({grep, RegExp}).
filter(Filters) when is_list(Filters) ->
- gen_server:call(rb_server, {filter, Filters}, infinity).
+ call({filter, Filters}).
filter(Filters, FDates) when is_list(Filters) andalso is_tuple(FDates) ->
- gen_server:call(rb_server, {filter, {Filters, FDates}}, infinity).
+ call({filter, {Filters, FDates}}).
-start_log(FileName) -> gen_server:call(rb_server, {start_log, FileName}).
+start_log(FileName) -> call({start_log, FileName}).
-stop_log() -> gen_server:call(rb_server, stop_log).
+stop_log() -> call(stop_log).
h() -> help().
help() ->
@@ -122,6 +122,13 @@ help() ->
%%-----------------------------------------------------------------
%% Internal functions.
%%-----------------------------------------------------------------
+
+%%-----------------------------------------------------------------
+%% call(Request) -> Term
+%%-----------------------------------------------------------------
+call(Req) ->
+ gen_server:call(rb_server, Req, infinity).
+
%%-----------------------------------------------------------------
%% MAKE SURE THESE TWO FUNCTIONS ARE UPDATED!
%%-----------------------------------------------------------------