postgres.git / summary / log / commit / refs
commit ec903d20e3b4c1a543dbf057055e4ddbfad4d59e
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: Thu Aug 07 09:38:16 2014 +0000
First released in: 9.5.0
Improve comment.
Based on the old comment, it took me a while to figure out what the
problem was. The importnat detail is that SSL_read() can return WANT_READ
even though some raw data was received from the socket.
src/interfaces/libpq/fe-misc.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/interfaces/libpq/fe-misc.c b/src/interfaces/libpq/fe-misc.c
index 7a213bf8390..a75db19ae43 100644
--- a/src/interfaces/libpq/fe-misc.c
+++ b/src/interfaces/libpq/fe-misc.c
@@ -744,9 +744,10 @@ retry3:
* the file selected for reading already.
*
* In SSL mode it's even worse: SSL_read() could say WANT_READ and then
- * data could arrive before we make the pqReadReady() test. So we must
- * play dumb and assume there is more data, relying on the SSL layer to
- * detect true EOF.
+ * data could arrive before we make the pqReadReady() test, but the
+ * second SSL_read() could still say WANT_READ because the data received
+ * was not a complete SSL record. So we must play dumb and assume there
+ * is more data, relying on the SSL layer to detect true EOF.
*/
#ifdef USE_SSL
[parent: 73cfa37afe32]