]> granicus.if.org Git - postgresql/commitdiff
StreamConnection(): setsockopt (..., TCP_NODELAY, ...) added.
authorVadim B. Mikheev <vadim4o@yahoo.com>
Wed, 16 Apr 1997 06:25:13 +0000 (06:25 +0000)
committerVadim B. Mikheev <vadim4o@yahoo.com>
Wed, 16 Apr 1997 06:25:13 +0000 (06:25 +0000)
src/backend/libpq/pqcomm.c

index 52309d4ddc0d864f2b58bd9b06e7b9a49ed6e18a..dcd99cbe1b403663ae9b6655419926cbecc41232 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/libpq/pqcomm.c,v 1.14 1997/03/20 18:21:35 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/libpq/pqcomm.c,v 1.15 1997/04/16 06:25:13 vadim Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -44,6 +44,7 @@
 #include <sys/socket.h>
 #include <netdb.h>
 #include <netinet/in.h>
+#include <netinet/tcp.h>
 #include <arpa/inet.h>
 
 #if defined(linux)
@@ -631,6 +632,23 @@ StreamConnection(int server_fd, Port *port)
        elog(WARN, "postmaster: StreamConnection: getsockname: %m");
        return(STATUS_ERROR);
     }
+    {
+       struct protoent *pe;
+       int on=1;
+       
+       pe = getprotobyname ("TCP");
+       if ( pe == NULL )
+       {
+           elog(WARN, "postmaster: getprotobyname failed");
+           return(STATUS_ERROR);
+       }
+       if ( setsockopt (port->sock, pe->p_proto, TCP_NODELAY, 
+                                               &on, sizeof (on)) < 0 )
+       {
+           elog(WARN, "postmaster: setsockopt failed");
+           return(STATUS_ERROR);
+       }
+    }
     
     port->mask = 1 << port->sock;