diff options
| author | Matthew Sackman <matthew@lshift.net> | 2009-09-23 15:11:48 +0100 |
|---|---|---|
| committer | Matthew Sackman <matthew@lshift.net> | 2009-09-23 15:11:48 +0100 |
| commit | b50bd5a58457eeaf0ea9b24b12c9607912018013 (patch) | |
| tree | 3d16b9e03baf15fc41df4a2347512379cdd17947 | |
| parent | 354602a6583f6f03a7ae1e3b19fd9ae322381858 (diff) | |
| download | rabbitmq-server-git-b50bd5a58457eeaf0ea9b24b12c9607912018013.tar.gz | |
overload open_file so it can cope with filenumbers and names, plus associated minor refactorings
| -rw-r--r-- | src/rabbit_msg_store.erl | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/rabbit_msg_store.erl b/src/rabbit_msg_store.erl index 9bafe6592a..c29ecddbc4 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( |
