diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2000-05-21 21:19:53 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2000-05-21 21:19:53 +0000 |
commit | 1f0aff03c025b7e69718a4393fce19e9685cdacd (patch) | |
tree | e706d5663635cdae5c4153c3e1117d09a2cc9896 /src/backend/libpq/pqcomm.c | |
parent | 9dab9ab5e488e921ba6f948fa760566cd61e45a9 (diff) | |
download | postgresql-1f0aff03c025b7e69718a4393fce19e9685cdacd.tar.gz postgresql-1f0aff03c025b7e69718a4393fce19e9685cdacd.zip |
Remove calls to getprotobyname(), which we now know leaks memory on
some platforms --- and I also see that it is documented as not thread-
safe on HPUX and possibly other platforms. No good reason not to just
use IPPROTO_TCP constant from <netinet/in.h> instead.
Diffstat (limited to 'src/backend/libpq/pqcomm.c')
-rw-r--r-- | src/backend/libpq/pqcomm.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/src/backend/libpq/pqcomm.c b/src/backend/libpq/pqcomm.c index 7d2f7eb7d68..aec4f34c7d2 100644 --- a/src/backend/libpq/pqcomm.c +++ b/src/backend/libpq/pqcomm.c @@ -29,7 +29,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: pqcomm.c,v 1.90 2000/05/20 13:10:54 ishii Exp $ + * $Id: pqcomm.c,v 1.91 2000/05/21 21:19:53 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -360,19 +360,12 @@ StreamConnection(int server_fd, Port *port) return STATUS_ERROR; } - /* select TCP_NODELAY option if it's a TCP connection */ + /* select NODELAY and KEEPALIVE options if it's a TCP connection */ if (port->laddr.sa.sa_family == AF_INET) { - struct protoent *pe; int on = 1; - pe = getprotobyname("TCP"); - if (pe == NULL) - { - perror("postmaster: StreamConnection: getprotobyname"); - return STATUS_ERROR; - } - if (setsockopt(port->sock, pe->p_proto, TCP_NODELAY, + if (setsockopt(port->sock, IPPROTO_TCP, TCP_NODELAY, &on, sizeof(on)) < 0) { perror("postmaster: StreamConnection: setsockopt(TCP_NODELAY)"); |