Laurenz Albe <laurenz.albe@cybertec.at> writes:
> On Fri, 2022-10-21 at 07:27 +0300, Vasily Kulikov wrote:
>> The problem is that sometimes PQconsumeInput() may close the connection
> The function does nothing of the kind.
No, he's right: if we detect EOF then we'll close the socket.
However, not doing so wouldn't be an improvement. I believe the
socket would still be read-ready so you'd have an infinite loop.
What I'd suggest doing is checking for PQstatus(conn) == CONNECTION_BAD,
or else directly rechecking PQsocket() each time, rather than assuming
the socket is still there.
regards, tom lane