summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@lshift.net>2009-09-23 15:11:48 +0100
committerMatthew Sackman <matthew@lshift.net>2009-09-23 15:11:48 +0100
commitddc6b1c6377fc42b4a659c2f57598ce3f6418bf4 (patch)
tree3d16b9e03baf15fc41df4a2347512379cdd17947
parent4a255a212190f52679e275eb763dd68c1bf87599 (diff)
downloadrabbitmq-server-ddc6b1c6377fc42b4a659c2f57598ce3f6418bf4.tar.gz
overload open_file so it can cope with filenumbers and names, plus associated minor refactorings
-rw-r--r--src/rabbit_msg_store.erl7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/rabbit_msg_store.erl b/src/rabbit_msg_store.erl
index 9bafe659..c29ecddb 100644
--- a/src/rabbit_msg_store.erl
+++ b/src/rabbit_msg_store.erl
@@ -271,8 +271,7 @@ init(Dir, FileSizeLimit, ReadFileHandlesLimit,
build_index(Files, State),
%% read is only needed so that we can seek
- {ok, FileHdl} = open_file(Dir, filenum_to_name(CurFile),
- ?WRITE_MODE ++ [read]),
+ {ok, FileHdl} = open_file(Dir, CurFile, ?WRITE_MODE ++ [read]),
{ok, Offset} = file:position(FileHdl, Offset),
State1 #msstate { current_file_handle = FileHdl }.
@@ -425,6 +424,8 @@ filenum_to_name(File) -> integer_to_list(File) ++ ?FILE_EXTENSION.
filename_to_num(FileName) -> list_to_integer(filename:rootname(FileName)).
+open_file(Dir, FileNum, Mode) when is_integer(FileNum) ->
+ open_file(Dir, filenum_to_name(FileNum), Mode);
open_file(Dir, FileName, Mode) ->
file:open(form_filename(Dir, FileName), ?BINARY_MODE ++ Mode).
@@ -774,7 +775,7 @@ maybe_roll_to_new_file(Offset,
State1 = sync(State),
ok = file:close(CurHdl),
NextFile = CurFile + 1,
- {ok, NextHdl} = open_file(Dir, filenum_to_name(NextFile), ?WRITE_MODE),
+ {ok, NextHdl} = open_file(Dir, NextFile, ?WRITE_MODE),
true = ets:update_element(FileSummary, CurFile,
{#file_summary.right, NextFile}),
true = ets:insert_new(