mirror of https://github.com/aria2/aria2
Refactor MultiDiskAdaptor::closeFile() and add assert for debugging
parent
b324be70ad
commit
d03c7b32c6
|
@ -141,6 +141,7 @@ std::unique_ptr<DiskWriterEntry> createDiskWriterEntry
|
||||||
|
|
||||||
void MultiDiskAdaptor::resetDiskWriterEntries()
|
void MultiDiskAdaptor::resetDiskWriterEntries()
|
||||||
{
|
{
|
||||||
|
assert(openedDiskWriterEntries_.empty());
|
||||||
diskWriterEntries_.clear();
|
diskWriterEntries_.clear();
|
||||||
if(getFileEntries().empty()) {
|
if(getFileEntries().empty()) {
|
||||||
return;
|
return;
|
||||||
|
@ -271,18 +272,19 @@ void MultiDiskAdaptor::openExistingFile()
|
||||||
|
|
||||||
void MultiDiskAdaptor::closeFile()
|
void MultiDiskAdaptor::closeFile()
|
||||||
{
|
{
|
||||||
size_t n = 0;
|
for(auto& dwent : openedDiskWriterEntries_) {
|
||||||
openedDiskWriterEntries_.clear();
|
auto& dw = dwent->getDiskWriter();
|
||||||
for(auto& dwent : diskWriterEntries_) {
|
// required for unit test
|
||||||
if(dwent->isOpen()) {
|
if (!dw) {
|
||||||
++n;
|
continue;
|
||||||
dwent->closeFile();
|
|
||||||
}
|
}
|
||||||
|
dw->closeFile();
|
||||||
}
|
}
|
||||||
auto& openedFileCounter = getOpenedFileCounter();
|
auto& openedFileCounter = getOpenedFileCounter();
|
||||||
if(openedFileCounter) {
|
if(openedFileCounter) {
|
||||||
openedFileCounter->reduceNumOfOpenedFile(n);
|
openedFileCounter->reduceNumOfOpenedFile(openedDiskWriterEntries_.size());
|
||||||
}
|
}
|
||||||
|
openedDiskWriterEntries_.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
Loading…
Reference in New Issue