[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.
"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?