[omniORB] Hanging connections
Serguei Kolos
Serguei.Kolos at cern.ch
Wed May 3 23:40:44 BST 2006
Hello
I have a wired problem with hanging connections while using
subscribe/notification pattern.
I have a server application and a subscriber, which creates a callback
object an pass it's reference
to the server as parameter of the subscribe call. Server uses this
object reference to send messages
to the subscriber. Before exiting, the subscriber application calls the
unsubscribe function on
the server, which destroys the callback object reference on the server,
and then subscriber destroys
the callback object itself.
After that netstat shows me that the server has one TCP connection (the
one, which was established
by the server to the subscriber) in the CLOSE_WAIT state.
This connection has 13 bytes -n Recv-Q colon, which corresponds (as I
believe) to the
CloseConnection message, which has been sent by subscriber (I have
checked this by setting traceLevel 45
on the subscriber site) but has never been read by the server (has also
been verified with the traceLevel 45).
The problem is that if I run many short living subscribers one after the
other, I have a lot of sockets on server
in the CLOSE_WAIT state and at some moment a maximum number of sockets
per application gets reached
and the server is not able to create connections anymore.
Is it a problem with the omniORB or I'm doing something wrong? I'm using
omniORB 4.0.7 with gcc323
on Linux with 2.4 kernel.
Cheers,
Sergei
More information about the omniORB-list
mailing list