[omniORB] Client behaviour on receiving CloseConnection

Duncan Grisby duncan at grisby.org
Fri Mar 31 19:42:22 BST 2006


On Tuesday 28 March, "Kiesswetter, Florian (Florian)" wrote:

> I am just wondering about the scenario where an omniOrb server sends a
> CloseConnection for a omniORB client connection and the client will
> perform a request afterwords:
>
> What I can see on ethereal traces is, that the close connection is
> sent and acknowledged. Upon trying to invoke the method "statusAudit",
> the client performs this request on exactly the connection which has
> been requested to close. Immediately after that it sends a FIN/ACK for
> this connection and establishes a new connection and perfoms the
> request again.
> 
> Why does the Client not close the socket immediately and establish a
> new connection for the first invocation? Is that behaviour
> specified/agreed (I thought from the specs that it clearly states that
> upon receiving a CloseConnection, the socket has to be closed)?

The client doesn't have a thread monitoring the socket, so it's not
until it tries to send on it that it is in a position to notice that the
connection has been closed. The alternative would be to select() or
similar on the socket before trying to use it, just in case it had
closed, but that would just slow everything down in the normal case that
the connection is still open.

Are you experiencing a problem with this behaviour or are you just
wondering why it's the way it is?

Cheers,

Duncan.

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



More information about the omniORB-list mailing list