[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 --