diff options
author | Josh Blum | 2012-09-05 01:02:31 -0700 |
---|---|---|
committer | Josh Blum | 2012-09-05 01:02:31 -0700 |
commit | c3809c21067f985a0a88cff4bef544fba9415e30 (patch) | |
tree | 53f2003820da03160277897270e36569223f3866 /lib/block_task.cpp | |
parent | 9ae32c46be162ade1d403d50334d48820ae21690 (diff) | |
download | sandhi-c3809c21067f985a0a88cff4bef544fba9415e30.tar.gz sandhi-c3809c21067f985a0a88cff4bef544fba9415e30.tar.bz2 sandhi-c3809c21067f985a0a88cff4bef544fba9415e30.zip |
qa_fft_filter no segfaults, still not passing though
Diffstat (limited to 'lib/block_task.cpp')
-rw-r--r-- | lib/block_task.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/block_task.cpp b/lib/block_task.cpp index 269e6e9..a5dccbe 100644 --- a/lib/block_task.cpp +++ b/lib/block_task.cpp @@ -18,6 +18,8 @@ #include <boost/foreach.hpp> #include <algorithm> +#define REALLY_BIG size_t(1 << 30) + using namespace gnuradio; void ElementImpl::mark_done(const tsbe::TaskInterface &task_iface) @@ -103,7 +105,7 @@ void ElementImpl::handle_task(const tsbe::TaskInterface &task_iface) //------------------------------------------------------------------ //-- initialize input buffers before work //------------------------------------------------------------------ - size_t num_input_items = (num_inputs)? ~0 : 0; //so big that it must std::min + size_t num_input_items = REALLY_BIG; //so big that it must std::min size_t input_tokens_count = 0; for (size_t i = 0; i < num_inputs; i++) { @@ -124,7 +126,7 @@ void ElementImpl::handle_task(const tsbe::TaskInterface &task_iface) //------------------------------------------------------------------ //-- initialize output buffers before work //------------------------------------------------------------------ - size_t num_output_items = (num_outputs)? ~0 : 0; //so big that it must std::min + size_t num_output_items = REALLY_BIG; //so big that it must std::min size_t output_tokens_count = 0; for (size_t i = 0; i < num_outputs; i++) { @@ -163,7 +165,7 @@ void ElementImpl::handle_task(const tsbe::TaskInterface &task_iface) //------------------------------------------------------------------ //-- the work //------------------------------------------------------------------ - work_noutput_items = (num_inputs)? myulround((num_input_items)*this->relative_rate) : num_output_items; + work_noutput_items = std::min(num_output_items, myulround((num_input_items)*this->relative_rate)); const int ret = block_ptr->Work(this->input_items, this->output_items); const size_t noutput_items = size_t(ret); |