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