cURL / Mailing Lists / curl-library / Single Mail

curl-library

TCP_NODELAY patch

From: Gisle Vanem <gvanem_at_broadpark.no>
Date: Thu, 25 Mar 2004 18:47:22 +0100

Peculiar --tcp-nodelay behaviour:

> curl -v --tcp-nodelay http://www.vg.no/
* About to connect() to www.vg.no port 80
* TCP_NODELAY set for IPv6
* Connected to www.vg.no (193.69.165.20) port 80
> GET / HTTP/1.1

With an IPv6 enabled curl on MSDOS/djgpp !
A quick fix:

--- CVS-latest/lib/connect.c Thu Mar 25 15:01:01 2004
+++ lib/connect.c Thu Mar 25 18:41:10 2004
@@ -575,7 +575,7 @@
       continue;

     else if(data->tcp_nodelay)
- Curl_setNoDelay(conn, sockfd, 6);
+ Curl_setNoDelay(conn, sockfd, (ai->ai_family == AF_INET6) ? 6 : 4);
 #else
   /*
    * Connecting with old style IPv4-only support

BTW. I'm working on updating the djgpp port, but fail to see why
curl http://foo fails but curl http://foo/ succeeds.

In the first case hostip.c tries to resolve 'http:' !? Can see what's
wrong for djgpp in url.c. It has a bugfree sscanf(), so it can't be that.
Any pointers?

--gv
Received on 2004-03-25