diff options
Diffstat (limited to 'lib/gras_impl')
-rw-r--r-- | lib/gras_impl/interruptible_thread.hpp | 1 | ||||
-rw-r--r-- | lib/gras_impl/messages.hpp | 6 | ||||
-rw-r--r-- | lib/gras_impl/token.hpp | 3 |
3 files changed, 10 insertions, 0 deletions
diff --git a/lib/gras_impl/interruptible_thread.hpp b/lib/gras_impl/interruptible_thread.hpp index 1e99111..e7025bf 100644 --- a/lib/gras_impl/interruptible_thread.hpp +++ b/lib/gras_impl/interruptible_thread.hpp @@ -91,6 +91,7 @@ namespace gnuradio { while (_wait_msg) _cond.wait(lock); _wait_msg = true; + if (not _callable) break; _callable(); _wait_ack = false; _notify(lock); diff --git a/lib/gras_impl/messages.hpp b/lib/gras_impl/messages.hpp index d5bfc8b..e1a3565 100644 --- a/lib/gras_impl/messages.hpp +++ b/lib/gras_impl/messages.hpp @@ -52,6 +52,12 @@ struct BufferReturnMessage SBuffer buffer; }; +struct BufferHintMessage +{ + size_t history_bytes; + size_t reserve_bytes; + WeakToken token; +}; } //namespace gnuradio diff --git a/lib/gras_impl/token.hpp b/lib/gras_impl/token.hpp index 4923f74..d5b438a 100644 --- a/lib/gras_impl/token.hpp +++ b/lib/gras_impl/token.hpp @@ -18,10 +18,13 @@ #define INCLUDED_LIBGRAS_IMPL_TOKEN_HPP #include <boost/shared_ptr.hpp> +#include <boost/weak_ptr.hpp> namespace gnuradio { +typedef boost::weak_ptr<int> WeakToken; + struct Token : boost::shared_ptr<int> { static Token make(void) |