Make image_logger stop blocking its Watcher
Signed-off-by: Ravago Jones <ravagojones@gmail.com>
Change-Id: If32ffc870d1a6c9a05d1cf10477413526247d04d
diff --git a/y2023/vision/image_logger.cc b/y2023/vision/image_logger.cc
index e8b6bb2..29a95db 100644
--- a/y2023/vision/image_logger.cc
+++ b/y2023/vision/image_logger.cc
@@ -20,8 +20,15 @@
std::unique_ptr<aos::logger::MultiNodeFilesLogNamer> MakeLogNamer(
aos::EventLoop *event_loop) {
+ std::optional<std::string> log_name =
+ aos::logging::MaybeGetLogName("fbs_log");
+
+ if (!log_name.has_value()) {
+ return nullptr;
+ }
+
return std::make_unique<aos::logger::MultiNodeFilesLogNamer>(
- absl::StrCat(aos::logging::GetLogName("fbs_log"), "/"), event_loop);
+ absl::StrCat(log_name.value(), "/"), event_loop);
}
int main(int argc, char *argv[]) {
@@ -71,9 +78,14 @@
enabled = joystick_state.enabled();
if (!logging && enabled) {
+ auto log_namer = MakeLogNamer(&event_loop);
+ if (log_namer == nullptr) {
+ return;
+ }
+
// Start logging if we just got enabled
LOG(INFO) << "Starting logging";
- logger.StartLogging(MakeLogNamer(&event_loop));
+ logger.StartLogging(std::move(log_namer));
logging = true;
last_rotation_time = event_loop.monotonic_now();
} else if (logging && !enabled &&