diff --git a/configure b/configure index 8490eb7..d32a0eb 100755 --- a/configure +++ b/configure @@ -7195,7 +7195,7 @@ else echo '%%' > conftest.l if $pgac_candidate -t conftest.l 2>/dev/null | grep FLEX_SCANNER >/dev/null 2>&1; then pgac_flex_version=`$pgac_candidate --version 2>/dev/null` - if echo "$pgac_flex_version" | sed 's/[.a-z]/ /g' | $AWK '{ if ($1 = 2 && $2 = 5 && $3 >= 31) exit 0; else exit 1;}' + if echo "$pgac_flex_version" | sed 's/[.a-z]/ /g' | $AWK '{ if ($1 = 2 && $2 > 5 ) exit 0; else exit 1;}' then pgac_cv_path_flex=$pgac_candidate break 2 diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c index 3db358e..b637bb3 100644 --- a/src/backend/libpq/be-secure-openssl.c +++ b/src/backend/libpq/be-secure-openssl.c @@ -513,6 +513,8 @@ be_tls_read(Port *port, void *ptr, size_t len) int waitfor; int latchret; + ProcessClientReadInterrupt(); /* preserves errno */ + rloop: errno = 0; n = SSL_read(port->ssl, ptr, len); diff --git a/src/backend/libpq/be-secure.c b/src/backend/libpq/be-secure.c index b90ab0e..20fd8a0 100644 --- a/src/backend/libpq/be-secure.c +++ b/src/backend/libpq/be-secure.c @@ -128,6 +128,8 @@ secure_read(Port *port, void *ptr, size_t len) { ssize_t n; + ProcessClientReadInterrupt(); /* preserves errno */ + retry: #ifdef USE_SSL if (port->ssl_in_use)