diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/libpq/be-secure.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/backend/libpq/be-secure.c b/src/backend/libpq/be-secure.c index 0455123cb1b..2763eb4616c 100644 --- a/src/backend/libpq/be-secure.c +++ b/src/backend/libpq/be-secure.c @@ -11,7 +11,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/libpq/be-secure.c,v 1.15.2.9 2003/03/29 03:57:05 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/libpq/be-secure.c,v 1.15.2.10 2003/03/30 21:36:44 momjian Exp $ * * Since the server static private key ($DataDir/server.key) * will normally be stored unencrypted so that the database @@ -282,6 +282,9 @@ secure_read(Port *port, void *ptr, size_t len) case SSL_ERROR_WANT_READ: n = secure_read(port, ptr, len); break; + case SSL_ERROR_WANT_WRITE: + n = secure_write(port, ptr, len); + break; case SSL_ERROR_SYSCALL: if (n == -1) elog(COMMERROR, "SSL SYSCALL error: %s", strerror(errno)); @@ -338,6 +341,9 @@ secure_write(Port *port, void *ptr, size_t len) case SSL_ERROR_NONE: port->count += n; break; + case SSL_ERROR_WANT_READ: + n = secure_read(port, ptr, len); + break; case SSL_ERROR_WANT_WRITE: n = secure_write(port, ptr, len); break; |