+1
At 9:42 AM -0500 1/16/03, Jeff Trawick wrote:
>
>I can certainly understand that :) Here is a new patch along those lines.
>
>Index: main/http_main.c
>===================================================================
>RCS file: /home/cvs/apache-1.3/src/main/http_main.c,v
>retrieving revision 1.599
>diff -u -r1.599 http_main.c
>--- main/http_main.c 9 Jan 2003 09:24:10 -0000 1.599
>+++ main/http_main.c 16 Jan 2003 14:36:38 -0000
>@@ -3555,7 +3555,7 @@
> }
>
> #if defined(TCP_NODELAY) && !defined(MPE) && !defined(TPF)
>-static void sock_disable_nagle(int s)
>+static void sock_disable_nagle(int s, struct sockaddr_in *sin_client)
> {
> /* The Nagle algorithm says that we should delay sending partial
> * packets in hopes of getting more data. We don't want to do
>@@ -3573,13 +3573,20 @@
> #ifdef NETWARE
> errno = WSAGetLastError();
> #endif
>- ap_log_error(APLOG_MARK, APLOG_WARNING, server_conf,
>- "setsockopt: (TCP_NODELAY)");
>+ if (sin_client) {
>+ ap_log_error(APLOG_MARK, APLOG_WARNING, server_conf,
>+ "setsockopt: (TCP_NODELAY), client %pA probably "
>+ "dropped the connection", &sin_client->sin_addr);
>+ }
>+ else {
>+ ap_log_error(APLOG_MARK, APLOG_WARNING, server_conf,
>+ "setsockopt: (TCP_NODELAY)");
>+ }
> }
> }
>
> #else
>-#define sock_disable_nagle(s) /* NOOP */
>+#define sock_disable_nagle(s, c) /* NOOP */
> #endif
>
> static int make_sock(pool *p, const struct sockaddr_in *server)
>@@ -3663,7 +3670,7 @@
> }
> #endif
>
>- sock_disable_nagle(s);
>+ sock_disable_nagle(s, NULL);
> sock_enable_linger(s);
>
> /*
>@@ -4513,11 +4520,14 @@
>
> clen = sizeof(sa_server);
> if (getsockname(csd, &sa_server, &clen) < 0) {
>- ap_log_error(APLOG_MARK, APLOG_ERR, server_conf, "getsockname");
>+ ap_log_error(APLOG_MARK, APLOG_ERR, server_conf,
>+ "getsockname, client %pA probably dropped the "
>+ "connection",
>+ &((struct sockaddr_in *)&sa_client)->sin_addr);
> continue;
> }
>
>- sock_disable_nagle(csd);
>+ sock_disable_nagle(csd, (struct sockaddr_in *)&sa_client);
>
> (void) ap_update_child_status(my_child_num, SERVER_BUSY_READ,
> (request_rec *) NULL);
>@@ -5884,7 +5894,7 @@
> memset(&sa_client, '\0', sizeof(sa_client));
> }
>
>- sock_disable_nagle(csd);
>+ sock_disable_nagle(csd, (struct sockaddr_in *)&sa_client);
>
> (void) ap_update_child_status(child_num, SERVER_BUSY_READ,
> (request_rec *) NULL);
--
===========================================================================
Jim Jagielski [|] [EMAIL PROTECTED] [|] http://www.jaguNET.com/
"A society that will trade a little liberty for a little order
will lose both and deserve neither" - T.Jefferson