summaryrefslogtreecommitdiff
path: root/src/MultiDiskAdaptor.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2015-03-22 18:38:50 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2015-03-22 18:38:50 +0900
commitd03c7b32c64e200f304f2124412aa7b96ebafd6c (patch)
tree7ee9880c3f123d39102eba1481fe273e26ae4dcd /src/MultiDiskAdaptor.cc
parentb324be70ad452b499b9afdd3f604eeb3a7328b57 (diff)
Refactor MultiDiskAdaptor::closeFile() and add assert for debugging
Diffstat (limited to 'src/MultiDiskAdaptor.cc')
-rw-r--r--src/MultiDiskAdaptor.cc16
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 {