[omniORB] call to _non_exist

Duncan Grisby dgrisby@uk.research.att.com
Thu, 18 Jan 2001 10:29:49 +0000


On Tuesday 16 January, Andreas Eglseer - Entwicklung wrote:

> Normally I get an exception and after 3 tries the program ends, but
> sometimes the call to _non_existent is hanging.
> Is there a better way to check, if the client app is alive, or could you
> please tell me why it is possible that the _non_existent call
> hangs.

The problem occurs if the TCP connection to the object is still open,
or can be opened, but the program has died in a way which means it
can't respond. One easy way to see this effect is to stop a server
program in a debugger. The OS still sees a process sitting on the
socket, so it doesn't send any TCP errors. The client just blocks
waiting for a reply. It has no way to tell whether the server is
frozen, or just being slow.

If you set a timeout for operation invocations, the call will be
stopped after a while with no response.

Cheers,

Duncan.

-- 
 -- Duncan Grisby  \  Research Engineer  --
  -- AT&T Laboratories Cambridge          --
   -- http://www.uk.research.att.com/~dpg1 --