Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Remote vs local transparency difference when reading spectrum or image attributes #416
When a Tango client tries to read a spectrum or image attribute which is not polled from a device exported by the same device server process as the client, by default (when Attribute::set_value() release parameter is set to false), omniORB and Tango will not do any copy of the data buffer and will give the spectrum/image buffer data pointer to the client without transferring ownership of this buffer to the client.
Here are some parts from the answer we got from omniORB's maintainer on this topic:
This issue was created in order to get always the same behaviour on the client side, meaning, the client can do whatever it wants with the data it got after reading a spectrum or image attribute. No matter whether the read was done on a local (same process) or remote device.
The code creating the result sequences is located in DATA_IN_OBJECT(A,B,C,D) macro in server/device.h file.
I'd like to work on this issue.
We have two possible places to copy the sequence: