diff --git a/wpilibj/src/main/java/edu/wpi/first/wpilibj/DataLogManager.java b/wpilibj/src/main/java/edu/wpi/first/wpilibj/DataLogManager.java index d4ec796c88..770db82716 100644 --- a/wpilibj/src/main/java/edu/wpi/first/wpilibj/DataLogManager.java +++ b/wpilibj/src/main/java/edu/wpi/first/wpilibj/DataLogManager.java @@ -269,7 +269,7 @@ public final class DataLogManager { // based on free disk space, scan for "old" FRC_*.wpilog files and remove { File logDir = new File(m_logDir); - long freeSpace = logDir.getFreeSpace(); + long freeSpace = logDir.getUsableSpace(); if (freeSpace < kFreeSpaceThreshold) { // Delete oldest FRC_*.wpilog files (ignore FRC_TBD_*.wpilog as we just created one) File[] files = @@ -304,7 +304,7 @@ public final class DataLogManager { + freeSpace / 1000000 + " MB of free space remaining! Logs will get deleted below " + kFreeSpaceThreshold / 1000000 - + " MB of free space." + + " MB of free space. " + "Consider deleting logs off the storage device.", false); } diff --git a/wpiutil/src/main/native/cpp/DataLog.cpp b/wpiutil/src/main/native/cpp/DataLog.cpp index 9f9981fe16..49f24a4315 100644 --- a/wpiutil/src/main/native/cpp/DataLog.cpp +++ b/wpiutil/src/main/native/cpp/DataLog.cpp @@ -463,6 +463,9 @@ void DataLog::WriterThreadMain(std::string_view dir) { lock.unlock(); StartLogFile(state); lock.lock(); + if (m_state == kStopped) { + continue; + } if (state.f != fs::kInvalidFile) { // Emit start and schema data records for (auto&& entryInfo : m_entries) {