fixed dropping log messages
It silently overwrote messages when the queue filled up, which was bad.
To avoid triggering the new crash behavior, the size had to be increased
a lot because the BBB does really slow writes sometimes.
diff --git a/aos/linux_code/logging/linux_logging.cc b/aos/linux_code/logging/linux_logging.cc
index 676e3b7..2f0413b 100644
--- a/aos/linux_code/logging/linux_logging.cc
+++ b/aos/linux_code/logging/linux_logging.cc
@@ -57,7 +57,7 @@
void Register() {
Init();
- queue = RawQueue::Fetch("LoggingQueue", sizeof(LogMessage), 1323, 1500);
+ queue = RawQueue::Fetch("LoggingQueue", sizeof(LogMessage), 1323, 20000);
if (queue == NULL) {
Die("logging: couldn't fetch queue\n");
}
@@ -91,8 +91,8 @@
}
void Write(LogMessage *msg) {
- if (!queue->WriteMessage(msg, RawQueue::kOverride)) {
- LOG(FATAL, "writing failed");
+ if (!queue->WriteMessage(msg, RawQueue::kNonBlock)) {
+ LOG(FATAL, "writing failed\n");
}
}