Huh, I'm out of my depth here.
However, yes, every subclass of gr::block automatically has a
pmt::mp("system") message port, that you can use to do such things.

Best regards,
Marcus

On 02.09.2015 14:47, Nemanja Savic wrote:
> Namely,
>
> my workless function block blocks my flowgraph when I call unlock(). I
> made a method where I set d_finished to True, but this doesn't help.
>
> Nemanja
>
> On Wed, Sep 2, 2015 at 2:16 PM, Nemanja Savic <vlasi...@gmail.com
> <mailto:vlasi...@gmail.com>> wrote:
>
>     Hello again,
>
>     could you please Marcus, or somebody else, give me some hint for
>     sending done message to a block's "system" port. Are all blocks by
>     default subscribed to system port?
>
>     Best,
>     Nemanja
>
>     On Tue, May 26, 2015 at 2:37 PM, Nemanja Savic <vlasi...@gmail.com
>     <mailto:vlasi...@gmail.com>> wrote:
>
>         Hi,
>
>         thank you Marcus for your fast answer. Well, the problem is
>         that nobody ecept scheduler knows when the flowgraph has
>         finished, so I don't know who should sent that message to the
>         block. This is however not of crucial importance for me.
>         Namely I wanted to test some of my custom blocks, and test
>         flowgraph necever reached completion, but as soon as message
>         accepting dummy block was out everything was fine.
>
>         Best,
>         Nemanja
>
>         On Tue, May 26, 2015 at 2:29 PM, Marcus Müller
>         <marcus.muel...@ettus.com <mailto:marcus.muel...@ettus.com>>
>         wrote:
>
>             Hi Nemanja,
>
>             the point is that with message passing, it's not clear
>             that your block is ever finished.
>             Hence in block.cc, we have a mechanism to retrieve the
>             "finishedness" of a pure-message-block.
>
>               bool
>               block::finished()
>               {
>                 if((detail()->ninputs() != 0) || (detail()->noutputs()
>             != 0))
>                   return false;
>                 else
>                   return d_finished;
>               }
>
>
>             So, you'll have to set the d_finished variable of your
>             block; sadly, that's a private one by design (I think
>             there are thread-safety reasons this is not directly
>             exposed, but I'm not sure -- I'd have to as T[io]m about
>             that).
>             The proper way to do so is to send your block a message to
>             its pmt::mp("system") port, containing pmt::mp("done").
>
>
>             Best regards,
>             Marcus
>
>
>             On 05/26/2015 02:10 PM, Nemanja Savic wrote:
>>             Hi all,
>>
>>             I have a block that is used only for acepting messages
>>             and writing their content into database. The block is
>>             written in python and it has no work function, but only
>>             constructor and message handler. However when I run my
>>             flowgraph it won't finish until I terminate it. When I
>>             exclude this block it runs to completion normally.
>>             Is there any issue with messages in this case. Should I
>>             manually delete messages from the message queue or
>>             something like that.
>>
>>             Best,
>>
>>             -- 
>>             Nemanja Savić
>>
>>
>>             _______________________________________________
>>             Discuss-gnuradio mailing list
>>             Discuss-gnuradio@gnu.org <mailto:Discuss-gnuradio@gnu.org>
>>             https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>
>             _______________________________________________
>             Discuss-gnuradio mailing list
>             Discuss-gnuradio@gnu.org <mailto:Discuss-gnuradio@gnu.org>
>             https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>
>
>
>         -- 
>         Nemanja Savić
>
>
>
>
>     -- 
>     Nemanja Savić
>
>
>
>
> -- 
> Nemanja Savić

_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to