On Tue, Mar 17, 2009 at 03:47:54PM +1300, Kieran Brownlees wrote: > Hello all, > > Is the code designed so you can .lock() a individual hier_block2 and > reconfigure it without having to lock the overall top_block? IF you do have > to lock the top block, why? >
You can lock/unlock on anything derived from from hier_block2 or top_block. FWIW, your code works for me using the trunk as of r10628. That is, it prints "Reconfiguring h_block", and then hangs. (The hang is a different bug that will be addressed soon.) > The code below causes a seg fault on my 3.1.3 and 3.2 installations. If it printed anything before dying, can you please post that? Can you generate a backtrace from the segfault using gdb? Eric > Sample code (http://pastebin.com/d413db7f7): > > from gnuradio import gr > > class h_block(gr.hier_block2): > def __init__(self): > gr.hier_block2.__init__(self, "hello", gr.io_signature(0, 0, 0), > gr.io_signature(0, 0, 0)) > self.source = gr.null_source(gr.sizeof_float) > self.sink = gr.null_sink(gr.sizeof_float) > self.connect(self.source, self.sink) > > def reconfigure(self): > self.lock() > self.disconnect(self.source, self.sink) > self.source = gr.null_source(gr.sizeof_float) > self.connect(self.source, self.sink) > self.unlock() > > class top_block(gr.top_block): > def __init__(self): > gr.top_block.__init__(self) > self.h_block = h_block() > self.connect(self.h_block) > > if __name__ == '__main__': > app = top_block() > app.start() > print "Reconfiguring h_block" > app.h_block.reconfigure() > app.stop() > > Thank you, > Kieran _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio