Hi,

I've found what I think is a bug in 2.0.1 using david (and probably the bug is still 
there in the more recent releases). I used the helloWord example in the package. I 
started the naming service and the Hello 
implementation. Then I started the client several times in a row. Each time the client 
exited, a socket was left in the Server in CLOSE_WAIT state. This must mean something 
like the server does not calls 'close' on 
connections which have been reset/closed by the peer. This behaviour is likely to lead 
to some undesirable situation (such as the server not accepting any more client 
requests) depending on the maximal-file-
descriptor-count assinged to the Server's ulimit and on how frequently clients connect 
and disconnect. I think the reason the Server doesn't clean up sockets closed/reset by 
the peer is that in the method 
GIOPProtocol.ServerSession_Low.send() the EOFException thrown by 
IPv4ConnectionFactory.Session (??) is caught silently consumed. So the fix is: rethrow 
the exception caught in 
GIOPProtocol.ServerSession_Low.send() . At least it worked with simple hello world 
example. Any comment?

BTW, I am sitting behind a firewall, so I think I am unable to use the Jonathan CVS 
repository for more than browsing it (meaning that I cannot build versions available 
only in the repository). Therefore it would be very 
helpful, if the latest stable version (and if possibly the latest beta) of Jonathan 
could be downloaded.

Thank you.

Peter

To unsubscribe, send email to [EMAIL PROTECTED] and
include in the body of the message "unsubscribe jonathan".
For general help, send email to [EMAIL PROTECTED] and
include in the body of the message "help".

Reply via email to