summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@rabbitmq.com>2010-08-22 13:50:13 +0100
committerMatthias Radestock <matthias@rabbitmq.com>2010-08-22 13:50:13 +0100
commit86dc2c12bda1068c3b264f96b06d1c6b550a30b7 (patch)
tree0a5b7f2061f32d77a8ab94abd080c7db6d1d1543
parent53a4c70ccb385db9958ab5920c07d01aed031ac9 (diff)
downloadrabbitmq-server-86dc2c12bda1068c3b264f96b06d1c6b550a30b7.tar.gz
refactor: make new_closed_handle create the Ref and return it
-rw-r--r--src/file_handle_cache.erl37
1 files changed, 18 insertions, 19 deletions
diff --git a/src/file_handle_cache.erl b/src/file_handle_cache.erl
index f8f5d48a..3580439e 100644
--- a/src/file_handle_cache.erl
+++ b/src/file_handle_cache.erl
@@ -261,8 +261,7 @@ open(Path, Mode, Options) ->
IsWriter = is_writer(Mode1),
case IsWriter andalso HasWriter of
true -> {error, writer_exists};
- false -> Ref = make_ref(),
- {ok, _Handle} = new_closed_handle(Path1, Mode1, Options, Ref),
+ false -> {ok, Ref} = new_closed_handle(Path1, Mode1, Options),
case get_opened_rev([{Ref, new}]) of
{ok, [_Handle1]} ->
RCount1 = case is_reader(Mode1) of
@@ -626,29 +625,29 @@ age_tree_change() ->
Tree
end).
-new_closed_handle(Path, Mode, Options, Ref) ->
+new_closed_handle(Path, Mode, Options) ->
WriteBufferSize =
case proplists:get_value(write_buffer, Options, unbuffered) of
unbuffered -> 0;
infinity -> infinity;
N when is_integer(N) -> N
end,
- Handle = #handle { hdl = closed,
- offset = 0,
- trusted_offset = 0,
- is_dirty = false,
- write_buffer_size = 0,
- write_buffer_size_limit = WriteBufferSize,
- write_buffer = [],
- at_eof = false,
- path = Path,
- mode = Mode,
- options = Options,
- is_write = is_writer(Mode),
- is_read = is_reader(Mode),
- last_used_at = undefined },
- put({Ref, fhc_handle}, Handle),
- {ok, Handle}.
+ Ref = make_ref(),
+ put({Ref, fhc_handle}, #handle { hdl = closed,
+ offset = 0,
+ trusted_offset = 0,
+ is_dirty = false,
+ write_buffer_size = 0,
+ write_buffer_size_limit = WriteBufferSize,
+ write_buffer = [],
+ at_eof = false,
+ path = Path,
+ mode = Mode,
+ options = Options,
+ is_write = is_writer(Mode),
+ is_read = is_reader(Mode),
+ last_used_at = undefined }),
+ {ok, Ref}.
open1(Ref, #handle { hdl = closed, path = Path, mode = Mode, offset = Offset } =
Handle, NewOrReopen) ->