Fixed bad optional access, fixes #450

This commit is contained in:
emeric
2024-04-29 13:44:20 +02:00
parent 391d859272
commit 2b7aecce4e
@@ -295,18 +295,19 @@ namespace lms::scanner
LMS_LOG(DBUPDATER, DEBUG, "Completed scan step '" << scanStep->getStepName() << "'");
}
{
std::unique_lock lock{ _statusMutex };
_curState = State::NotScheduled;
_currentScanStepStats.reset(); // must be sync with _curState
}
LMS_LOG(DBUPDATER, INFO, "Scan " << (_abortScan ? "aborted" : "complete") << ". Changes = " << stats.nbChanges() << " (added = " << stats.additions << ", removed = " << stats.deletions << ", updated = " << stats.updates << "), Not changed = " << stats.skips << ", Scanned = " << stats.scans << " (errors = " << stats.errors.size() << "), features fetched = " << stats.featuresFetched << ", duplicates = " << stats.duplicates.size());
if (!_abortScan)
{
stats.stopTime = Wt::WDateTime::currentDateTime();
{
std::unique_lock lock{ _statusMutex };
_lastCompleteScanStats = stats;
_currentScanStepStats.reset();
}
LMS_LOG(DBUPDATER, DEBUG, "Scan not aborted, scheduling next scan!");
scheduleNextScan();
@@ -315,11 +316,6 @@ namespace lms::scanner
else
{
LMS_LOG(DBUPDATER, DEBUG, "Scan aborted, not scheduling next scan!");
std::unique_lock lock{ _statusMutex };
_curState = State::NotScheduled;
_currentScanStepStats.reset();
}
}