diff options
author | Matthias Radestock <matthias@rabbitmq.com> | 2010-08-22 13:50:13 +0100 |
---|---|---|
committer | Matthias Radestock <matthias@rabbitmq.com> | 2010-08-22 13:50:13 +0100 |
commit | 86dc2c12bda1068c3b264f96b06d1c6b550a30b7 (patch) | |
tree | 0a5b7f2061f32d77a8ab94abd080c7db6d1d1543 | |
parent | 53a4c70ccb385db9958ab5920c07d01aed031ac9 (diff) | |
download | rabbitmq-server-86dc2c12bda1068c3b264f96b06d1c6b550a30b7.tar.gz |
refactor: make new_closed_handle create the Ref and return it
-rw-r--r-- | src/file_handle_cache.erl | 37 |
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) -> |