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

Reply via email to