summaryrefslogtreecommitdiff
path: root/src
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
commit582ab9e9099373aa2b18fd5d3ad9ab122eca5be3 (patch)
treed6d5b6bee82993bd78c9bd3e9f718b2fd4b2d8ee /src
parent470e83c87068326c1b6a4965b575deb15598977b (diff)
parent9da492640eb74ab9fc47ceb457c4f307306af28a (diff)
downloadrabbitmq-server-git-582ab9e9099373aa2b18fd5d3ad9ab122eca5be3.tar.gz
Merged bug25052 into default
Diffstat (limited to 'src')
-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 f3b4dbafa2..13ee42499a 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(