Fix health check time out.
authorTatsuo Ishii <ishii@sraoss.co.jp>
Mon, 21 Oct 2019 04:44:37 +0000 (13:44 +0900)
committerTatsuo Ishii <ishii@sraoss.co.jp>
Mon, 21 Oct 2019 04:49:22 +0000 (13:49 +0900)
commitc8ab990e7fd9ec2f54695658f78db4a78861496b
tree3e35ddff5af0e7daeb6fd54e892b1f428f8d505c
parente30680d9f539e5aad837e0b5a87dbf07c0a4497b
Fix health check time out.

Heal check time out could happen in several places:

1) connect system call
2) select system call
3) read system call

1) was ok but in 2) and 3) it was possible that it could go into
infinite loop in Pgpool-II 3.7 or later. This was due to a mistake
when health check process was modified to be separate process in 3.7,
and back patched to 3.7 and above.

Discussion:
https://www.pgpool.net/pipermail/pgpool-hackers/2019-October/003458.html
https://www.pgpool.net/pipermail/pgpool-hackers/2019-October/003459.html
src/protocol/pool_process_query.c
src/utils/pool_stream.c