diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2015-03-22 18:38:50 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2015-03-22 18:38:50 +0900 |
| commit | d03c7b32c64e200f304f2124412aa7b96ebafd6c (patch) | |
| tree | 7ee9880c3f123d39102eba1481fe273e26ae4dcd /src/MultiDiskAdaptor.cc | |
| parent | b324be70ad452b499b9afdd3f604eeb3a7328b57 (diff) | |
Refactor MultiDiskAdaptor::closeFile() and add assert for debugging
Diffstat (limited to 'src/MultiDiskAdaptor.cc')
| -rw-r--r-- | src/MultiDiskAdaptor.cc | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/MultiDiskAdaptor.cc b/src/MultiDiskAdaptor.cc index ad17e827..8f9c6c20 100644 --- a/src/MultiDiskAdaptor.cc +++ b/src/MultiDiskAdaptor.cc @@ -141,6 +141,7 @@ std::unique_ptr<DiskWriterEntry> createDiskWriterEntry void MultiDiskAdaptor::resetDiskWriterEntries() { + assert(openedDiskWriterEntries_.empty()); diskWriterEntries_.clear(); if(getFileEntries().empty()) { return; @@ -271,18 +272,19 @@ void MultiDiskAdaptor::openExistingFile() void MultiDiskAdaptor::closeFile() { - size_t n = 0; - openedDiskWriterEntries_.clear(); - for(auto& dwent : diskWriterEntries_) { - if(dwent->isOpen()) { - ++n; - dwent->closeFile(); + for(auto& dwent : openedDiskWriterEntries_) { + auto& dw = dwent->getDiskWriter(); + // required for unit test + if (!dw) { + continue; } + dw->closeFile(); } auto& openedFileCounter = getOpenedFileCounter(); if(openedFileCounter) { - openedFileCounter->reduceNumOfOpenedFile(n); + openedFileCounter->reduceNumOfOpenedFile(openedDiskWriterEntries_.size()); } + openedDiskWriterEntries_.clear(); } namespace { |
