Fix infinite loop in logger
Also, increase max size of timing report message so that the logger can
generate a timing report.
Change-Id: I7a612c432c5fd881ae95c15388b61d9fd588c28c
diff --git a/aos/events/aos.json b/aos/events/aos.json
index 141a43d..27ce666 100644
--- a/aos/events/aos.json
+++ b/aos/events/aos.json
@@ -4,7 +4,8 @@
"name": "/aos",
"type": "aos.timing.Report",
"frequency": 50,
- "num_senders": 20
+ "num_senders": 20,
+ "max_size": 2048
}
]
}
diff --git a/aos/events/logging/logger.cc b/aos/events/logging/logger.cc
index 5b3d553..d8e504f 100644
--- a/aos/events/logging/logger.cc
+++ b/aos/events/logging/logger.cc
@@ -180,8 +180,11 @@
}
}
- if (!f.written && f.fetcher->context().monotonic_sent_time <
- last_synchronized_time_) {
+ CHECK(!f.written);
+
+ // TODO(james): Write tests to exercise this logic.
+ if (f.fetcher->context().monotonic_sent_time <
+ last_synchronized_time_) {
// Write!
flatbuffers::FlatBufferBuilder fbb(f.fetcher->context().size +
max_header_size_);
@@ -217,6 +220,8 @@
writer_->QueueSizedFlatbuffer(&fbb);
f.written = true;
+ } else {
+ break;
}
}