On Wed, Dec 04, 2002 at 12:25:49PM +0000, Colm MacCárthaigh wrote: > My tests (and patch) were based on apr and apr-util from CVS , > with the 2.0.43 codebase, because CVS seems broken right now.
stupid pre-test patch, here's the real one: Index: configure.in =================================================================== RCS file: /home/cvspublic/apr/configure.in,v retrieving revision 1.506 diff -u -r1.506 configure.in --- configure.in 2 Dec 2002 16:07:09 -0000 1.506 +++ configure.in 4 Dec 2002 12:29:41 -0000 @@ -1770,6 +1770,16 @@ echo "${nl}Checking for IPv6 Networking support..." dnl Start of checking for IPv6 support... +use_ipv6_tcp_cork=1 +AC_ARG_ENABLE(ipv6-tcp-cork, + [ --disable-ipv6-tcp-cork Disable TCP_CORK with IPv6.], + [ if test "$enableval" = "no"; then + use_ipv6_tcp_cork=0 + fi ], + [ use_ipv6_tcp_cork=1 ] ) + +AC_SUBST(use_ipv6_tcp_cork) + AC_ARG_ENABLE(ipv6, [ --disable-ipv6 Disable IPv6 support in APR.], [ if test "$enableval" = "no"; then Index: include/apr.h.in =================================================================== RCS file: /home/cvspublic/apr/include/apr.h.in,v retrieving revision 1.117 diff -u -r1.117 apr.h.in --- include/apr.h.in 22 Oct 2002 12:37:40 -0000 1.117 +++ include/apr.h.in 4 Dec 2002 12:29:41 -0000 @@ -171,6 +171,11 @@ */ #define APR_TCP_NOPUSH_FLAG @apr_tcp_nopush_flag@ +/* Should we use "corked" TCP with IPv6 ? (this seems to be broken on + * linux + */ +#define APR_USE_IPV6_TCP_CORK @use_ipv6_tcp_cork@ + /* Is the TCP_NODELAY socket option inherited from listening sockets? */ #define APR_TCP_NODELAY_INHERITED @tcp_nodelay_inherited@ Index: network_io/unix/sockopt.c =================================================================== RCS file: /home/cvspublic/apr/network_io/unix/sockopt.c,v retrieving revision 1.63 diff -u -r1.63 sockopt.c --- network_io/unix/sockopt.c 20 Nov 2002 03:50:21 -0000 1.63 +++ network_io/unix/sockopt.c 4 Dec 2002 12:29:42 -0000 @@ -259,7 +259,12 @@ return APR_ENOTIMPL; #endif } +#if APR_USE_IPV6_TCP_CORK if (opt & APR_TCP_NOPUSH) { +#else + if (opt & APR_TCP_NOPUSH && sock->remote_addr->sa.sin.sin_family != APR_INET6) { +#endif + #if APR_TCP_NOPUSH_FLAG if (apr_is_option_set(sock->netmask, APR_TCP_NOPUSH) != on) { int optlevel = IPPROTO_TCP; -- [EMAIL PROTECTED] PubKey: [EMAIL PROTECTED] Web: http://devnull.redbrick.dcu.ie/