_is_equivalent()
Sai-Lai Lo
S.Lo@orl.co.uk
Wed, 25 Feb 1998 21:18:21 GMT
>>>>> Fredrik Jonsson writes:
> Q: Should CORBA::Object::_is_equivalent() work according
> to the following in omniORB2.4:
> Object_impl* oi=new Object_impl();
> // all boa and nameservice code hidden in the constructor
> Object_ptr op=oi->_this();
> oi-> _this()->_is_equivalent(op); // returns true, good
> It returns true when the Object_ptr is fetched directly, like
> above, fine. But when the Object_ptr is coming in as an argument
> sent from a client process it always returns false.
> xxxxx::xxxxx(Object_ptr& op) {
objectimpl-> _this()->_is_equivalent(op); // always false
> }
> Should it compare equal or not? (assuming that the Object_ptr
> does dereference to the same implementation object)
Strange. If the object reference sent from the client really points to
the same implementation object, _is_equivalent() should returns true even
if the object reference has travelled around the world. Could it be
something else that is causing the symptom you are seeing? I have just verified
that omniORB2 is exhibiting the correct behaviour with a little test
program.
Regards,
Sai-Lai