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".