diff options
author | Björn Gustavsson <[email protected]> | 2010-03-08 14:42:03 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2010-03-08 15:36:00 +0100 |
commit | dff8572b12a00155e2cf6f21677af6dd9a3ffeb6 (patch) | |
tree | e18eefe6f1435ad100f4a25f5e83000c85c58f8c /lib/sasl/src/rb.erl | |
parent | dfd80f7cea795bfb3a35eaea2c0bc98960002aa2 (diff) | |
download | otp-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.erl | 29 |
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! %%----------------------------------------------------------------- |