Scott Perrine sperrine at xuma.com
Tue Mar 2 13:27:30 CST 1999

Hey there Jabber-folks ...

I have had a problem with my transport server crashing when a client is killed without cleanly disconnecting from the socket first ... i.e. I control-c the rug out from underneath the carpet of my client app, so it doesn't get to send its logout message & do a socket close.  The read() call in io.c fails and h_err() kills my transport.

A small little fix takes care of this for me ... so I thought I'd mail it in & see if it helped out anyone else as well.

diff io.c io.c.new
> #include <errno.h>
<                                               h_err(nbytes,"read");
>                                               if(errno != ECONNRESET)
>                                                       h_err(nbytes,"read");

This way if the connection was killed, then read() failing & returning -1 lets us "drop the connection" (and the user session) cleanly on our side.

Scott Perrine                                         ph: 415.777.9641
Xuma Technologies LLC                       http://www.xuma.com
World Class Engineering For E-Business
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.jabber.org/pipermail/jdev/attachments/19990302/aeb1ff18/attachment-0002.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Scott Perrine.vcf
Type: text/x-vcard
Size: 359 bytes
Desc: not available
URL: <http://mail.jabber.org/pipermail/jdev/attachments/19990302/aeb1ff18/attachment-0002.vcf>

More information about the JDev mailing list