diff --git a/src/backend/libpq/pqcomm.c b/src/backend/libpq/pqcomm.c index 52309d4ddc..dcd99cbe1b 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 #include #include +#include #include #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;