httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marc Slemko <>
Subject solution for lingering problems found?
Date Sun, 19 Jan 1997 07:56:22 GMT
Does anyone have any reasons why we need to use any lingering things (ie.
either SO_LINGER or lingering_close) other than broken SVR4 systems that
discard unsent data when a socket is destroyed?  From checking the list
archives, that seems to be the only reason the lingering stuff was added.

I just noticed the following in the Unix sockets FAQ:

   Closing a socket: if SO_LINGER has not been called on a socket, then  
   close() is not supposed to discard data. This is true on SVR4.2 (and, 
   apparently, on all non-SVR4 systems) but apparently not on SVR4; the
   use of either shutdown() or SO_LINGER seems to be required to     
   guarantee delivery of all data.                                       

This should mean that if we change child_main to do a shutdown() and not
just a close(), we can get rid of all the lingering junk entirely and
still make things work.  This should get rid of most, but probably not
all, of the FIN_WAIT_2 problems.

Anyone have a SVR4.2 box (ISTR Unixware may have the same problems) to
test this on?

View raw message