summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmile Joubert <emile@rabbitmq.com>2012-07-13 14:14:53 +0100
committerEmile Joubert <emile@rabbitmq.com>2012-07-13 14:14:53 +0100
commitb2b656f419b024f7bdda3528c303c8f9bf69a220 (patch)
treed6d5b6bee82993bd78c9bd3e9f718b2fd4b2d8ee
parent700a252c058d65fc2bff2284c5dd72533ff873a0 (diff)
parentcad12c0f75cd1b6c5566fff203bfb9965214dbd4 (diff)
downloadrabbitmq-server-b2b656f419b024f7bdda3528c303c8f9bf69a220.tar.gz
Merged bug25052 into default
-rw-r--r--src/file_handle_cache.erl10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/file_handle_cache.erl b/src/file_handle_cache.erl
index f3b4dbaf..13ee4249 100644
--- a/src/file_handle_cache.erl
+++ b/src/file_handle_cache.erl
@@ -374,11 +374,11 @@ sync(Ref) ->
end).
needs_sync(Ref) ->
- with_handles(
- [Ref],
- fun ([#handle { is_dirty = false, write_buffer = [] }]) -> false;
- ([_Handle]) -> true
- end).
+ %% This must *not* use with_handles/2; see bug 25052
+ case get({Ref, fhc_handle}) of
+ #handle { is_dirty = false, write_buffer = [] } -> false;
+ #handle {} -> true
+ end.
position(Ref, NewOffset) ->
with_flushed_handles(