We actually ran into an issue caused by this in production, where a PQcancel 
connection was open on the client for a 2+ days because the server had 
restarted at the wrong moment in the cancel handshake. The client was now 
indefinitely waiting for the server to send an EOF back, and because keepalives 
were not enabled on this socket it was never closed.

I attached an updated patch which also uses the keepalive settings in PQ. The 
connect_timeout is a bit harder to get it to work. As far as I can tell it 
would require something like this. https://stackoverflow.com/a/2597774/2570866

> The other field names are quite short. How about naming the field tcp_timeout 
>?

I kept the same names as in the pg_conn struct for consistency sake.


Reply via email to