Try putting wait() after stop() to make sure the resources are teared down.
On Sat, Nov 15, 2014 at 6:56 PM, Syed Aqeel Raza <s.aqeelr...@gmail.com> wrote: > Hi, > > Currently, I am using a single usrp as a transmitter. The program is > changing the transmission frequency with respect to (external) switching > time. In order to change the frequency in usrp box; I set the following > programming conditions. > > while 1: > if ((time!=0) and ((ch1=1) or (ch2==1))): > tb1.start() > time = int(time) - int(1) > sleep(external time which provide the active channel time of > channel 1 and channel 2) > elif (time==0): > tb1.stop() > > But (I think) due to this frequent start() and stop() activities; after > maximum of 15 minutes time I have received the following error. > > /Traceback (most recent call last): > File "source_test.py", line 121, in <module> > tb1 = gmsk_tx() > File "source_test.py", line 88, in __init__ > self.blocks_udp_source_0 = blocks.udp_source(gr.sizeof_char*1, "127.0.0.1", > 1234, 1472, True) > File > "/usr/local/lib/python2.7/dist-packages/gnuradio/blocks/blocks_swig5.py", > line 1969, in make > return _blocks_swig5.udp_source_make(*args, **kwargs) > RuntimeError: boost::thread_resource_error: Resource temporarily unavailable > > I want the program to be run continuously. Kindly propose some solution. > > Regards, > Syed Aqeel Raza > > On Thu, Nov 13, 2014 at 6:32 PM, Syed Aqeel Raza <s.aqeelr...@gmail.com> > wrote: >> >> I can't use sleep() here; because there're other threads as well in the >> program which need to be executed as well. Sleep() stop the execution of >> program; which is not a solution. Thanks. >> >> On Thu, Nov 13, 2014 at 5:53 PM, Syed Aqeel Raza <s.aqeelr...@gmail.com> >> wrote: >>> >>> Thanks Sylvain for your reply; but if I introduced sleep(14) then during >>> that time it won't perform the tasks in tb1 as well. >>> >>> On Thu, Nov 13, 2014 at 3:28 PM, Syed Aqeel Raza <s.aqeelr...@gmail.com> >>> wrote: >>>> >>>> Hi All, >>>> >>>> I am looking for a solution that start() the flow graph for a definite >>>> period of time (in seconds) and after that it stop() it automatically. For >>>> example >>>> >>>> # let suppose initial value of time is 14 seconds; it means that the >>>> flowgraph defined in tb1 should need to executed during that time; and when >>>> the time reaches zero it must be stop. >>>> >>>> while 1: >>>> if (time!=0): >>>> tb1.run() >>>> time = int(time) - int(1) >>>> elif (time==0): >>>> tb1.stop() >>>> >>>> >>>> I tried this; but once the flow graph started; then it never comes to >>>> the elif condition. How can I stop() the flowgraph in this condition. >>>> Waiting for reply. >>>> >>>> Regards, >>>> >>>> >>>> >>> >>> >> > > > _______________________________________________ > Discuss-gnuradio mailing list > Discuss-gnuradio@gnu.org > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio > _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio