[omniORB] AMI and porting to Playstation

Duncan Grisby duncan at grisby.org
Wed Feb 11 17:55:03 GMT 2004


On Friday 30 January, Kevin Wooten wrote:

> My current concern has to do with _non_existent. First, I have an omniPy
> client connect to my orb and make a remote call, then let it sit (not
> disconnecting). Next, I reboot my ORB, causing the whole ip stack to be
> rebooted. Finally, with the omni client I call _non_existent from the
> reference. omniPy throws a "COMM_FAILURE_WaitingForReply", this appears to
> be from the connection failing. If I then call _non_existent a second time
> in a row, it reconnects to my orb and tries the call. At this time the
> object no longer exists in my ORB and I throw the OBJECT_NOT_EXIST exception
> back.
> 
> Is this correct? My understanding of the spec. is that _non_existent should
> only throw an exception when the answer cannot be "reliably" determined. I
> don't believe that a broken connection means this, after all connections
> break all the time. I believe the reconnect should happen during the first
> call, but I would like to hear your input.

The problem is that the omniORB client doesn't notice that the
connection has gone until it has sent the _non_existent request and
tries to wait for the reply. That's just the way that the underlying
sockets work.

There was a discussion about this on comp.object.corba a while ago:

  http://www.google.com/groups?hl=en&lr=&ie=UTF-8&safe=off&threadm=3FAFC0DA.5000101%40cern.ch&rnum=1&prev=/groups%3Fselm%3D3FAFC0DA.5000101%2540cern.ch

Cheers,

Duncan.

-- 
 -- Duncan Grisby         --
  -- duncan at grisby.org     --
   -- http://www.grisby.org --



More information about the omniORB-list mailing list