What happens to a block as wait() finishes?

Hello,

I’m just wondering, what happens within block code when whatever shuts
down
the graph after the gr_top_block.wait() executes? Is there condition
detectable from within a block which could be used to run some code when
the
block pauses? I want to copy the remaining input buffer into an internal
memory buffer to fix a problem I’m getting with the FIR block over a
wait()
run() cycle.

Also I’m guessing that I can overload the gr_block.start() function
within a
custom block declaration to copy this buffer back to the input buffer
somehow?

Cheers,

John

On Mon, Aug 02, 2010 at 09:16:03PM +0100, John W. wrote:

Hello,

I’m just wondering, what happens within block code when whatever shuts down
the graph after the gr_top_block.wait() executes? Is there condition
detectable from within a block which could be used to run some code when the
block pauses?

Nope. The block (at least the user code) doesn’t know it’s done.

I want to copy the remaining input buffer into an internal
memory buffer to fix a problem I’m getting with the FIR block over a wait()
run() cycle.

I think the easiest way to handle this is to write a new FIR block
that does exactly what you want. If you need to add a new ‘please
stash the delay line now’ method, just add it, then call it when you
like.

Also I’m guessing that I can overload the gr_block.start() function within a
custom block declaration to copy this buffer back to the input buffer
somehow?

Those are not the hooks you’re looking for.

Eric