Fix bug with socket writing.
authorTatsuo Ishii <ishii@postgresql.org>
Mon, 29 Jan 2018 10:13:21 +0000 (19:13 +0900)
committerTatsuo Ishii <ishii@postgresql.org>
Mon, 29 Jan 2018 10:13:21 +0000 (19:13 +0900)
commit0b4e3b38f9959585f4f3a40d7025111e0d7b305d
tree2dd3324a5017b0be08af4b91bbcc241e8e772bc7
parent3fe84f82537732ae2240e6e87d970d9193e01c93
Fix bug with socket writing.

pool_write_flush() is responsible for writing to sockets when pgpool's
write buffer is full (this function was introduced in 3.6.6 etc). When
network write buffer in kernel is full, it does retrying but it forgot
to update the internal buffer pointer. As a result, broken data is
written to the socket. This results in variety of problems including
too large message length.
src/utils/pool_stream.c