summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@lshift.net>2010-04-12 13:41:31 +0100
committerMatthew Sackman <matthew@lshift.net>2010-04-12 13:41:31 +0100
commitca7b5943e84557fe5ea15d579696b62e13e24fe8 (patch)
treed7aa85b4b1ad1fbdad1ba14f3cb3df6befaacbce /src
parent8f353e401feccfff4bbdd8bd552d0d67a76999d0 (diff)
downloadrabbitmq-server-git-ca7b5943e84557fe5ea15d579696b62e13e24fe8.tar.gz
Be more consistent about errors
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_misc.erl19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/rabbit_misc.erl b/src/rabbit_misc.erl
index c75c48d988..65e1d56d1a 100644
--- a/src/rabbit_misc.erl
+++ b/src/rabbit_misc.erl
@@ -619,10 +619,10 @@ recursive_delete1(Path) ->
case filelib:is_dir(Path) of
false ->
case file:delete(Path) of
- ok -> ok;
+ ok -> ok;
%% Path doesn't exist anyway
- {error, enoent} -> ok;
- {error, _Err} = Error -> Error
+ {error, enoent} -> ok;
+ {error, Err} -> {error, {Path, Err}}
end;
true ->
case file:list_dir(Path) of
@@ -634,11 +634,16 @@ recursive_delete1(Path) ->
(_FileName, Error) ->
Error
end, ok, FileNames) of
- ok -> file:del_dir(Path);
- {error, _Err} = Error -> Error
+ ok ->
+ case file:del_dir(Path) of
+ ok -> ok;
+ {error, Err} -> {error, {Path, Err}}
+ end;
+ {error, _Err} = Error ->
+ Error
end;
- {error, Error} ->
- {error, {Path, Error}}
+ {error, Err} ->
+ {error, {Path, Err}}
end
end.