[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] Manager for blob and message passing - Blocking in E1

From: Jose Torres Diaz
Subject: [Discuss-gnuradio] Manager for blob and message passing - Blocking in E110
Date: Tue, 27 Nov 2012 16:41:39 +1030

Hi All,

I'm still doing some blocks using message passing technique. Now, I'm working with blob passing downstream, however, my code blocks if I run a infinite loop. Before, I had some issues with memory blowing out (using PMT dictionaries), but using the pmt manager solves the problem.

My code is quite easy, but it does not runs infinitely in E110.

BLOCK 1 (Source of Blobs)   -------- >  BLOCK 2 (Count the number of Blobs received)

BLOCK 1 - Source:
This is the source block and it is similar to stream to blob. I'm creating a pool of 17 blobs with size 1500 bytes. I added some data into it and then posting downstream.

BLOCK 2 - Counter:
It counts the number of blobs received.

Running this in the E110 does it only 1000 times (in an infinite loop). I checked the memory usage and it looks stable all the time. I read in https://github.com/guruofquality/grextras/wiki:

"Normally, a PMT is created and passed to a downstream consumer. When all downstream consumers delete their references to the PMT, the object is deconstructed and freed back into nothingness. With the PMT manager, rather than being deconstructed, the PMT will return to the manager, where the user can reuse the deleted PMT without re-allocation."

When it is mention the consumer deleting their reference to the PMT, should I do it into my work function in BLOCK 2? or is it done automatically by the manager?.

Thanks for your help and directions,

Regards ,


reply via email to

[Prev in Thread] Current Thread [Next in Thread]