diff options
author | Emile Joubert <emile@rabbitmq.com> | 2012-08-10 17:17:34 +0100 |
---|---|---|
committer | Emile Joubert <emile@rabbitmq.com> | 2012-08-10 17:17:34 +0100 |
commit | 70612671f27997b9275010c3bfab91fd70cf3156 (patch) | |
tree | fec07db10e64c807e981193bd959eb9b2f33d469 /src/rabbit_file.erl | |
parent | 26461122d432be23aabed9a9b67019ea652d2071 (diff) | |
download | rabbitmq-server-70612671f27997b9275010c3bfab91fd70cf3156.tar.gz |
Prevent possible deadlock when obtaining multiple filehandles
Diffstat (limited to 'src/rabbit_file.erl')
-rw-r--r-- | src/rabbit_file.erl | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/rabbit_file.erl b/src/rabbit_file.erl index a95f8f26..26f74796 100644 --- a/src/rabbit_file.erl +++ b/src/rabbit_file.erl @@ -105,9 +105,9 @@ with_fhc_handle(Fun) -> with_fhc_handle(1, Fun). with_fhc_handle(N, Fun) -> - [ ok = file_handle_cache:obtain() || _ <- lists:seq(1, N)], + ok = file_handle_cache:obtain(N), try Fun() - after [ ok = file_handle_cache:release() || _ <- lists:seq(1, N)] + after ok = file_handle_cache:release(N) end. read_term_file(File) -> |