summaryrefslogtreecommitdiff
path: root/gnuradio-runtime/lib/buffer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gnuradio-runtime/lib/buffer.cc')
-rw-r--r--gnuradio-runtime/lib/buffer.cc24
1 files changed, 14 insertions, 10 deletions
diff --git a/gnuradio-runtime/lib/buffer.cc b/gnuradio-runtime/lib/buffer.cc
index 46d704542b..58b291e649 100644
--- a/gnuradio-runtime/lib/buffer.cc
+++ b/gnuradio-runtime/lib/buffer.cc
@@ -76,6 +76,7 @@ buffer::buffer(int nitems, size_t sizeof_item, block_sptr link)
d_done(false),
d_last_min_items_read(0)
{
+ gr::configure_default_loggers(d_logger, d_debug_logger, "buffer");
if (!allocate_buffer(nitems, sizeof_item))
throw std::bad_alloc();
@@ -113,21 +114,24 @@ bool buffer::allocate_buffer(int nitems, size_t sizeof_item)
// This only happens if sizeof_item is not a power of two.
if (nitems > 2 * orig_nitems && nitems * (int)sizeof_item > granularity) {
- std::cerr << "gr::buffer::allocate_buffer: warning: tried to allocate\n"
- << " " << orig_nitems << " items of size " << sizeof_item
- << ". Due to alignment requirements\n"
- << " " << nitems
- << " were allocated. If this isn't OK, consider padding\n"
- << " your structure to a power-of-two bytes.\n"
- << " On this platform, our allocation granularity is " << granularity
- << " bytes.\n";
+ auto msg =
+ str(boost::format(
+ "allocate_buffer: tried to allocate"
+ " %d items of size %d. Due to alignment requirements"
+ " %d were allocated. If this isn't OK, consider padding"
+ " your structure to a power-of-two bytes."
+ " On this platform, our allocation granularity is %d bytes.") %
+ orig_nitems % sizeof_item % nitems % granularity);
+ GR_LOG_WARN(d_logger, msg.c_str());
}
d_bufsize = nitems;
d_vmcircbuf.reset(gr::vmcircbuf_sysconfig::make(d_bufsize * d_sizeof_item));
if (d_vmcircbuf == 0) {
- std::cerr << "gr::buffer::allocate_buffer: failed to allocate buffer of size "
- << d_bufsize * d_sizeof_item / 1024 << " KB\n";
+ std::ostringstream msg;
+ msg << "gr::buffer::allocate_buffer: failed to allocate buffer of size "
+ << d_bufsize * d_sizeof_item / 1024 << " KB";
+ GR_LOG_ERROR(d_logger, msg.str());
return false;
}