Improve logger behavior when out of disk space
I actually tried it, and found a few places that didn't fully work.
Might still be more, but it's definitely closer now.
It'd be nice to test this stuff, but it's hard to set up a valid test.
Change-Id: If2ad1b9d91a116515215eaa49140b1aa0230fc93
diff --git a/aos/events/logging/log_namer.h b/aos/events/logging/log_namer.h
index 6d91b69..5384ab2 100644
--- a/aos/events/logging/log_namer.h
+++ b/aos/events/logging/log_namer.h
@@ -181,7 +181,13 @@
// Besides this function, this object will silently stop logging data when
// this occurs. If you want to ensure log files are complete, you must call
// this method.
- bool ran_out_of_space() const { return ran_out_of_space_; }
+ bool ran_out_of_space() const {
+ return accumulate_data_writers<bool>(
+ ran_out_of_space_, [](bool x, const DataWriter &data_writer) {
+ return x ||
+ (data_writer.writer && data_writer.writer->ran_out_of_space());
+ });
+ }
// Returns the maximum total_bytes() value for all existing
// DetachedBufferWriters.