This is true, message handling is independent of stream handling. You may be able to add state variables to keep things from happening out of order, and _maybe_ you can register the message handler late?
On Thu, Jul 9, 2020 at 12:01 PM Ellie White <elliewhite1...@gmail.com> wrote: > Hey all, > > I've got a question about message handling in GNU Radio. I'm working on > developing an out of tree module for controlling the Allen Array, and I'm > currently working on a set of two blocks which are supposed to interact via > messages, control.py and trackscan.py; note that "control" receives the > messages and "trackscan" receives them. The code can be found here > (please forgive the messiness, I've not had a chance to tidy it up yet): > https://github.com/SETIatHCRO/gr-ata/tree/master/python > > I'm struggling because I can't seem to figure out why it is that when I > put both of these blocks in a flowgraph, connect them, and run it -- the > start function for the "control" blockseemingly gets called *before* the > message handler function, and thus it acts like the obs_info dictionary > is empty. ( > https://github.com/SETIatHCRO/gr-ata/blob/master/python/control.py#L54) > Does anyone have any advice on this? This is my first time writing > message-passing blocks so I am unfamiliar with the process. If I need to > clarify any of the above please let me know and I'd be glad to. Thanks so > much for your time and help -- I appreciate it! > > Cheers, > Ellie > > -- > Ellie White > Co-Director, Open Source Radio Telescopes > Student at Marshall University > 304-654-9381 > www.catseyeenterprises.net >