From 1b483bcc2af1c12e1960aa1ff7dd517d758d6527 Mon Sep 17 00:00:00 2001 From: Mark Whitehorn Date: Fri, 29 Apr 2016 06:54:58 -0600 Subject: [PATCH] correctly report failure to allocat log_buffer --- src/modules/logger/logger.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/modules/logger/logger.cpp b/src/modules/logger/logger.cpp index f61480ec49..dd0585887f 100644 --- a/src/modules/logger/logger.cpp +++ b/src/modules/logger/logger.cpp @@ -183,12 +183,24 @@ void Logger::run_trampoline(int argc, char *argv[]) return; } +#ifdef DBGPRINT + struct mallinfo alloc_info = mallinfo(); + warnx("largest free chunk: %d bytes", alloc_info.mxordblk); + warnx("allocating %d bytes for log_buffer", log_buffer_size); +#endif /* DBGPRINT */ + logger_ptr = new Logger(log_buffer_size, log_interval, log_on_start); - if (logger_ptr == nullptr) { - PX4_WARN("alloc failed"); + if (logger_ptr->_log_buffer == nullptr) { + PX4_WARN("log buffer malloc failed"); } else { + +#ifdef DBGPRINT + alloc_info = mallinfo(); + warnx("remaining free heap: %d bytes", alloc_info.fordblks); +#endif /* DBGPRINT */ + logger_ptr->run(); } }