diff options
| author | Matthias Radestock <matthias@rabbitmq.com> | 2011-05-15 17:17:05 +0100 |
|---|---|---|
| committer | Matthias Radestock <matthias@rabbitmq.com> | 2011-05-15 17:17:05 +0100 |
| commit | 2823712d2ae6d65092bbc84a689448312af2500a (patch) | |
| tree | 0ac182d685b07a2df3b5f272dca67105919fb18f | |
| parent | 1970d97dc800bc6a16d68460c92cfb564baa5e90 (diff) | |
| download | rabbitmq-server-git-2823712d2ae6d65092bbc84a689448312af2500a.tar.gz | |
shrink
| -rw-r--r-- | src/rabbit_misc.erl | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/src/rabbit_misc.erl b/src/rabbit_misc.erl index 3451724e5f..ff31921e4d 100644 --- a/src/rabbit_misc.erl +++ b/src/rabbit_misc.erl @@ -527,20 +527,12 @@ write_file(Path, Data, Modes) -> case make_binary(Data) of Bin when is_binary(Bin) -> case file:open(Path, Modes1) of - {ok, Hdl} -> - case file:write(Hdl, Bin) of - ok -> - case file:sync(Hdl) of - ok -> - file:close(Hdl); - {error, _} = E -> - file:close(Hdl), - E - end; - {error, _} = E -> - file:close(Hdl), - E - end; + {ok, Hdl} -> try file:write(Hdl, Bin) of + ok -> file:sync(Hdl); + {error, _} = E -> E + after + file:close(Hdl) + end; {error, _} = E -> E end; {error, _} = E -> E |
