Hi,

I have a custom daemon running which, from time to time, will hang.

It hangs in a call to fflush() to flush a stream (to send text back to
one of the clients). It seems that the send queue is filling up, netstat
shows:

Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address        
State   
tcp        0   9847 217.10.143.92:6715      217.134.219.115:1134   
ESTABLISHED

For all the other connections the Send-Q is zero, I have verified (with
gdb) that it always hangs on a flush to the stream which has filled up.

Does this mean the packets aren't being sent out or aren't being
received by the client? Not being received shouldn't hang a call to
fflush but what if the machine isn't even trying to send them, would
that cause a problem?

After a while, the daemon will continue running as if nothing has
happened. Is this a problem with my application or the libraries/kernel?
Should I be doing some sort of check before flushing in case the client
has been disconnected in a strange way?

Thanks,

Allan
-- 
Education is what you get from reading the small print; experience is
what
you get from not reading it.
--------------------------------------------------------------------
http://www.lug.org.uk                   http://www.linuxportal.co.uk
http://www.linuxjob.co.uk               http://www.linuxshop.co.uk
--------------------------------------------------------------------

Reply via email to