Dan Wilcox wrote:
> 
> Howdy,
> 
> I'm using distributed objects to pass the ids, versions of other
> distributed objects, as well as the overall state variables, and this is
> working fine.
> 
> I have one type of object that contains a pointer and number bytes to an
> area of memory that should be synchronized between nodes.  Obviously this
> pointer is useless if sent to another machine, so on startup the app sets
> the data and location in the object.  I implemented the applyInstanceData
> and getInstanceData functions and the data is serialized using the pointer
> and size.
> 
> This was working fine using the depreciated setInstanceData func, but I've
> moved to Equalizer 0.6 and am trying to remove the use of that function.
> 
> Now the objects do not update in the clients and I've narrowed it down to
> the client mapping.  When map is called, the object's internal data is
> changed and the pointer is lost (goes to null), so the deserialization
> fails.  I tried calling map with eq::net::Object::VERSION_NONE, but still
> the same problem. I put a check in applyInstanceData to not deserialize if
> the object is not mapped (aka VERSION_NONE) and this does not overwrite
> the pointer, but the app crashes unexpectedly ...
> 
> There must be something simple I'm missing, because the other objects I
> use that contain regular variables (non pointers) work fine.
> 
> Thanks in advace for any info.
> 

Ok, sorry I solved it just now ...

in applyInstanceData() ...

    memcpy(&_pData, is.getRemainingBuffer(), _ui64DataSize);
    is.advanceBuffer(_ui64DataSize);

should be 

    memcpy(_pData, is.getRemainingBuffer(), _ui64DataSize);
    is.advanceBuffer(_ui64DataSize);

I was writing into the pointer address and not where it was pointing ...
-- 
View this message in context: 
http://n2.nabble.com/Problem-when-mapping-Distributed-Objects-tp2468140p2468347.html
Sent from the Equalizer - Parallel Rendering mailing list archive at Nabble.com.


_______________________________________________
eq-dev mailing list
[email protected]
http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev
http://www.equalizergraphics.com

Reply via email to