Hello, On 15.11.20 06:26, isaac mario tupac davila wrote: > Hello > > I'm Isaac.
Hi Isaac, nice having you. > I have a question about threads..... I've created three > threads and I want to pass real data from one thread to the next block > directly without returning to the general work method. That sounds like a misguided design approach. Please don't do that. The work function is meant to be seen as atomically processing a bit of data from its input to its output. If you need asynchronous messaging, then use the msg_passing facilities. These make sure you don't change the state of the block while its general_work is executing. > I could give > value to the out array in the thread but for some reason the data > doesn't pass to the next block. I am not sure if it's because I didn't > put: return noutput_items in the thread, What you describe as thread makes no sense – the way GNU Radio is, there's exactly one thread executing a block's general_work at a time, and that's the thread of the block_executor. And `return` ends that execution; that's how C++ works. > as normally this is in the > general work method... I also add that the function is defined in the > thread as void*function and I defined the out array as a complex<short>*. > > Any help would be appreciated. I'm afraid there's something not GNU Radio-compatible in the way you've architected your system, but we sadly don't know your system well enough to comment on what to change. Best regards, Marcus
