If the connection isn't over SSL, there's no need to do the disable. This effectively halves the number of syscalls performed by libpq when SSL is not in use.
Signed-off-by: Jeremy Kerr <j...@ozlabs.org> --- src/interfaces/libpq/fe-secure.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/interfaces/libpq/fe-secure.c b/src/interfaces/libpq/fe-secure.c index eb579cf..2101315 100644 --- a/src/interfaces/libpq/fe-secure.c +++ b/src/interfaces/libpq/fe-secure.c @@ -368,13 +368,13 @@ pqsecure_write(PGconn *conn, const void *ptr, size_t len) { ssize_t n; - DISABLE_SIGPIPE(return -1); - #ifdef USE_SSL if (conn->ssl) { int err; + DISABLE_SIGPIPE(return -1); + n = SSL_write(conn->ssl, ptr, len); err = SSL_get_error(conn->ssl, n); switch (err) @@ -433,15 +433,14 @@ pqsecure_write(PGconn *conn, const void *ptr, size_t len) n = -1; break; } + RESTORE_SIGPIPE(); } else #endif { n = send(conn->sock, ptr, len, 0); - REMEMBER_EPIPE(n < 0 && SOCK_ERRNO == EPIPE); } - RESTORE_SIGPIPE(); return n; } -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers