httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chuck Murcko <ch...@n2k.com>
Subject Re: More on FIN_WAIT_2
Date Fri, 10 Jan 1997 18:38:09 GMT
Randy Terbush liltingly intones:
> 
> I took a closer look at lingering_close().
> 
> While I am not being plagued by these problems on FreeBSD,
> I am seeing errors logged that indicate read failures in
> lingering_close().
> 
> Seems that it would be helpful to check the return of the
> half close. I also raise the question, should we be flushing
> this before the half close? 
> 
The close() should itself do a flush, no? Oh, unless you mean a bflush().

> The other comments that Chuck made about Nagle not working is
> kind of interesting. I'm wondering if it would not be worth
> changing make_sock() so that we could log a failure of sock_disable_nagle()
> to a logfile instead of stderr. I'm suspicious that there might be
> some connection here...
> 
I think I was mentioning sock_disable_nagle() failures in the context of
the reported proxy weirdness, where children would remain tied up, in
write mode, but the connection would be completed. No one's said anything
lately about that, and I've been unable to get it to happen on the OS I
have access to at work (FreeBSD, BSDI, SPARC Solaris 2.5, and IRIX 5.3).
That means there could be a race condition there, or something else weird
happening, possibly on an alarm timeout.

+1 to the extra logging.
> 
> Index: http_main.c
> ===================================================================
> RCS file: /export/home/cvs/apache/src/http_main.c,v
> retrieving revision 1.104
> diff -c -r1.104 http_main.c
> *** http_main.c	1997/01/10 11:26:22	1.104
> --- http_main.c	1997/01/10 18:07:32
> ***************
> *** 319,325 ****
>   
>       /* Close our half of the connection --- send client a FIN */
>   
> !     shutdown (sd, 1);
>   
>       /* Set up to wait for readable data on socket... */
>   
> --- 319,326 ----
>   
>       /* Close our half of the connection --- send client a FIN */
>   
> !     if ((shutdown (sd, 1)) != 0)
> ! 	log_unixerr("shutdown", NULL, "lingering_close", server_conf);
>   
>       /* Set up to wait for readable data on socket... */
>   
> 
> 
> 
> 

chuck
Chuck Murcko	N2K Inc.	Wayne PA	chuck@telebase.com
And now, on a lighter note:
Wasting time is an important part of living.

Mime
View raw message