aboutsummaryrefslogtreecommitdiffstats
path: root/lib/sasl/src
diff options
context:
space:
mode:
authorSiri Hansen <[email protected]>2011-04-29 17:14:12 +0200
committerSiri Hansen <[email protected]>2011-05-03 16:33:43 +0200
commit2187b54499a280fdf92e8832a5126cadeb9cd610 (patch)
tree217b13302fcc3b0fd85ed5c7f50a97a940e44995 /lib/sasl/src
parent9051df48646573dbb740b16396bf9b55be288525 (diff)
downloadotp-2187b54499a280fdf92e8832a5126cadeb9cd610.tar.gz
otp-2187b54499a280fdf92e8832a5126cadeb9cd610.tar.bz2
otp-2187b54499a280fdf92e8832a5126cadeb9cd610.zip
Fail sasl startup if some, but not all, environment variables related to log_mf_h are given
The sasl application starts and adds log_mf_h handler if all three environment variables are given and valid. If any of the variables are invalid, sasl startup will crash. Earlier, if one or two of the variables were missing sasl would successfully start but silently skip adding log_mf_h. This commit changes this behaviour so that sasl startup will crash if some variables are given and some are not.
Diffstat (limited to 'lib/sasl/src')
-rw-r--r--lib/sasl/src/sasl.erl21
1 files changed, 16 insertions, 5 deletions
diff --git a/lib/sasl/src/sasl.erl b/lib/sasl/src/sasl.erl
index d1babaffff..aed5f0da1f 100644
--- a/lib/sasl/src/sasl.erl
+++ b/lib/sasl/src/sasl.erl
@@ -81,27 +81,38 @@ get_mf() ->
Dir = get_mf_dir(),
MaxB = get_mf_maxb(),
MaxF = get_mf_maxf(),
- {Dir, MaxB, MaxF}.
+ case {Dir, MaxB, MaxF} of
+ {undefined,undefined,undefined} = R ->
+ R;
+ {undefined,_,_} ->
+ exit({missing_config, {sasl, error_logger_mf_dir}});
+ {_,undefined,_} ->
+ exit({missing_config, {sasl, error_logger_mf_maxbytes}});
+ {_,_,undefined} ->
+ exit({missing_config, {sasl, error_logger_mf_maxfiles}});
+ R ->
+ R
+ end.
get_mf_dir() ->
case application:get_env(sasl, error_logger_mf_dir) of
- {ok, false} -> throw(undefined);
+ {ok, false} -> undefined;
{ok, Dir} when is_list(Dir) -> Dir;
- undefined -> throw(undefined);
+ undefined -> undefined;
{ok, Bad} -> exit({bad_config, {sasl, {error_logger_mf_dir, Bad}}})
end.
get_mf_maxb() ->
case application:get_env(sasl, error_logger_mf_maxbytes) of
{ok, MaxB} when is_integer(MaxB) -> MaxB;
- undefined -> throw(undefined);
+ undefined -> undefined;
{ok, Bad} -> exit({bad_config, {sasl, {error_logger_mf_maxbytes, Bad}}})
end.
get_mf_maxf() ->
case application:get_env(sasl, error_logger_mf_maxfiles) of
{ok, MaxF} when is_integer(MaxF), MaxF > 0, MaxF < 256 -> MaxF;
- undefined -> throw(undefined);
+ undefined -> undefined;
{ok, Bad} -> exit({bad_config, {sasl, {error_logger_mf_maxfiles, Bad}}})
end.