<!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML//EN">
<HTML>
<HEAD>

<META content=text/html;charset=iso-8859-1 http-equiv=Content-Type>
<META content='"MSHTML 4.72.3110.7"' name=GENERATOR>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT size=2></FONT>Hey there Jabber-folks ...</DIV>
<DIV>&nbsp;</DIV>
<DIV>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 &amp; do a socket close.&nbsp; The read() call in io.c 
fails and h_err() kills my transport.</DIV>
<DIV>&nbsp;</DIV>
<DIV>A small little fix takes care of this for me ... so I thought I'd mail it 
in &amp; see if it helped out anyone else as well.</DIV>
<DIV>&nbsp;</DIV>
<DIV><STRONG><U>io.c:</U></STRONG></DIV>
<DIV>diff io.c io.c.new<BR>1a2<BR>&gt; #include 
&lt;errno.h&gt;<BR>83c84,85<BR>&lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
h_err(nbytes,&quot;read&quot;);<BR>---<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
if(errno != 
ECONNRESET)<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
h_err(nbytes,&quot;read&quot;);<BR></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT color=#000000 size=2>This way if the connection was killed, then 
read() failing &amp; returning -1 lets us &quot;drop the connection&quot; (and 
the user session) cleanly on our side.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV>---------------------------------------------------------------------------------------------------------<BR>Scott 
Perrine&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
ph: 415.777.9641<BR>Xuma Technologies 
LLC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<A href="http://www.xuma.com">http://www.xuma.com</A><BR>World Class Engineering 
For 
E-Business<BR>---------------------------------------------------------------------------------------------------------</DIV></BODY></HTML>