discuss-gnuradio
[Top][All Lists]
Advanced

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

[Discuss-gnuradio] Delete a reference to PMT - GRextras


From: Jose Torres Diaz
Subject: [Discuss-gnuradio] Delete a reference to PMT - GRextras
Date: Sat, 5 Jan 2013 11:50:52 +1030

Hi Community,

I'm working with blob manager to implement our design. The block diagram in GRExtras looks similar to this:

BLOCK 1 --> BLOCK 2 --> BLOCK 3 --> SINK

Where, Block 1 contains the manager as follows:

MsgBlobManager = pmt::pmt_mgr::make();
      for (size_t i = 0; i < MSG_BLOBS_ALLOCATION; i++)
          {
                 MsgBlobManager->set(pmt::pmt_make_blob(BLOB_MSG_INITIAL_SIZE));
          }
    

However, when I made some changes in the blob that is passing around in BLOCK 2 (only 1 field of the blob), in BLOCK 3 I received the old data from BLOCK 1. This happens exactly 3 times until BLOCK 3 received the correct updated data.

I'm not sure if it is related due to previous blocks are keeping a reference to the incoming message (as explained in https://github.com/guruofquality/grextras/wiki#wiki-pmt-manager-object). What I do not know either is the following:

"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"

1. How the downstream consumer delete their reference to a PMT object?
2. Is it automatically done or should I explicitly do this?

Thanks for your time and advice,

Regards,

Jose.

reply via email to

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