]> granicus.if.org Git - postgresql/commitdiff
connectDB(): setsockopt (..., TCP_NODELAY, ...) added.
authorVadim B. Mikheev <vadim4o@yahoo.com>
Wed, 16 Apr 1997 06:29:19 +0000 (06:29 +0000)
committerVadim B. Mikheev <vadim4o@yahoo.com>
Wed, 16 Apr 1997 06:29:19 +0000 (06:29 +0000)
src/interfaces/libpq/fe-connect.c

index 9d02de5b5260202084050b0f8fe169b700a1d148..d1ebdb62c1e8b3307085359e5c3ade209e604f13 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.29 1997/04/15 19:08:13 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.30 1997/04/16 06:29:19 vadim Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -21,6 +21,7 @@
 #include <ctype.h>
 #include <string.h>
 #include <netdb.h>
+#include <netinet/tcp.h>
 #include <errno.h>
 #include <signal.h>
 #include <ctype.h>      /* for isspace() */
@@ -476,7 +477,25 @@ connectDB(PGconn *conn)
                       conn->pghost,conn->pgport);
        goto connect_errReturn; 
     }
-    
+    {
+       struct protoent *pe;
+       int on=1;
+       
+       pe = getprotobyname ("TCP");
+       if ( pe == NULL )
+       {
+           (void) sprintf(conn->errorMessage,
+                       "connectDB(): getprotobyname failed\n");
+           goto connect_errReturn;
+       }
+       if ( setsockopt (port->sock, pe->p_proto, TCP_NODELAY, 
+                                               &on, sizeof (on)) < 0 )
+       {
+           (void) sprintf(conn->errorMessage,
+                       "connectDB(): setsockopt failed\n");
+           goto connect_errReturn;
+       }
+    }
 
     /* fill in the client address */
     if (getsockname(port->sock, (struct sockaddr *) &port->laddr,