From: Heikki Linnakangas Date: Mon, 6 Jul 2015 13:36:48 +0000 (+0300) Subject: Call getsockopt() on the correct socket. X-Git-Tag: REL9_6_BETA1~1726 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8e33fc1784cbd657a7238ab5639ee1f8f54a3ec0;p=postgresql Call getsockopt() on the correct socket. We're interested in the buffer size of the socket that's connected to the client, not the one that's listening for new connections. It happened to work, as default buffer size is the same on both, but it was clearly not wrong. Spotted by Tom Lane --- diff --git a/src/backend/libpq/pqcomm.c b/src/backend/libpq/pqcomm.c index 9f92e4efae..b27ac95217 100644 --- a/src/backend/libpq/pqcomm.c +++ b/src/backend/libpq/pqcomm.c @@ -773,7 +773,7 @@ StreamConnection(pgsocket server_fd, Port *port) * https://msdn.microsoft.com/en-us/library/bb736549%28v=vs.85%29.aspx */ optlen = sizeof(oldopt); - if (getsockopt(server_fd, SOL_SOCKET, SO_SNDBUF, (char *) &oldopt, + if (getsockopt(port->sock, SOL_SOCKET, SO_SNDBUF, (char *) &oldopt, &optlen) < 0) { elog(LOG, "getsockopt(SO_SNDBUF) failed: %m");