From abfb98c1e4e468b994aecc0899dae9064d2477da Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Sat, 29 Sep 2012 11:37:28 -0700 Subject: gnuradio core mostly passing with apology fixes --- lib/block_actor.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'lib/block_actor.cpp') diff --git a/lib/block_actor.cpp b/lib/block_actor.cpp index af59009..61660f9 100644 --- a/lib/block_actor.cpp +++ b/lib/block_actor.cpp @@ -15,14 +15,25 @@ // along with io_sig program. If not, see . #include +#include #include using namespace gnuradio; -static Theron::Framework global_framework(8); //TODO needs API config +static size_t hardware_concurrency(void) +{ + const size_t n = boost::thread::hardware_concurrency(); + return std::max(size_t(2), n); +} + +static Theron::Framework &get_global_framework(void) +{ + static Theron::Framework framework(hardware_concurrency()); + return framework; +} BlockActor::BlockActor(void): - Apology::Worker(global_framework) + Apology::Worker(get_global_framework()) { this->register_handlers(); } -- cgit