Simplify waiting logic in reading from / writing to client.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Fri, 13 Feb 2015 19:46:14 +0000 (21:46 +0200)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Fri, 13 Feb 2015 19:46:14 +0000 (21:46 +0200)
commit80788a431e9bff06314a054109fdea66ac538199
tree0dc2e4ee11fef85bbc3a9b42e9644ffab50a9d2f
parent272923a0a6956187471df4f032eee06559520390
Simplify waiting logic in reading from / writing to client.

The client socket is always in non-blocking mode, and if we actually want
blocking behaviour, we emulate it by sleeping and retrying. But we have
retry loops at different layers for reads and writes, which was confusing.
To simplify, remove all the sleeping and retrying code from the lower
levels, from be_tls_read and secure_raw_read and secure_raw_write, and put
all the logic in secure_read() and secure_write().
src/backend/libpq/be-secure-openssl.c
src/backend/libpq/be-secure.c
src/backend/libpq/pqcomm.c
src/include/libpq/libpq-be.h