discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Possible diagnosis for issue 520, hier_block2::di


From: Johnathan Corgan
Subject: Re: [Discuss-gnuradio] Possible diagnosis for issue 520, hier_block2::disconnect_all() misbehavior
Date: Sun, 25 Aug 2013 10:49:24 -0700

On Mon, Aug 19, 2013 at 9:16 AM, Tom Rondeau <address@hidden> wrote:
 
> I took a look at the code, and I found this suspicious bit in hier_block2_detail.cc:
>
>   void
>   hier_block2_detail::disconnect_all()
>   {
>     d_fg->clear();
>     d_blocks.clear();
>     d_inputs.clear();
>     d_outputs.clear();
>   }
>
> I have very little C++ experience, but if I understand correctly, the last two lines will cause the input and output port vectors to have length 0, which would explain the observed behavior. There does not seem to be any code which increases the size of the vectors again.
>
> If this is so, the fix would be to reset each element to the unset value individually rather than removing elements. (I don't know how to write that in idiomatic C++.)
>
> I hope someone who has a working GNU Radio development environment (I've tried and failed, which is an unrelated problem) can try this fix.

This is really good information. Johnathan and I will look it over and
discuss it.

This issue was fixed this morning.  The two lines in question were indeed the fault; instead of clearing the vectors, they should have been recreated with empty contents as is done in the constructor to initialize them.

Thanks.

--
Johnathan Corgan
Corgan Labs - SDR Training and Development Services
http://corganlabs.com
reply via email to

[Prev in Thread] Current Thread [Next in Thread]