aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVadim B. Mikheev <vadim4o@yahoo.com>1997-04-16 06:25:13 +0000
committerVadim B. Mikheev <vadim4o@yahoo.com>1997-04-16 06:25:13 +0000
commit4d985ea96b418ff782a1a2a2237ca399a36a9616 (patch)
tree387ab1ca14b35ea1f322d6e1c746cf26f6b34bac /src
parent329fb11262b79a45749a8005e7a31ff178eb6d10 (diff)
downloadpostgresql-4d985ea96b418ff782a1a2a2237ca399a36a9616.tar.gz
postgresql-4d985ea96b418ff782a1a2a2237ca399a36a9616.zip
StreamConnection(): setsockopt (..., TCP_NODELAY, ...) added.
Diffstat (limited to 'src')
-rw-r--r--src/backend/libpq/pqcomm.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/backend/libpq/pqcomm.c b/src/backend/libpq/pqcomm.c
index 52309d4ddc0..dcd99cbe1b4 100644
--- a/src/backend/libpq/pqcomm.c
+++ b/src/backend/libpq/pqcomm.c
@@ -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;