I wrote:
> v3 attached uses pg_usec_time_t, and fixes one brown-paper-bag
> bug the cfbot noticed in v2.
Oh, I just remembered that there's a different bit of
pqConnectDBComplete that we could simplify now:
if (timeout > 0)
{
/*
* Rounding could cause connection to fail unexpectedly quickly;
* to prevent possibly waiting hardly-at-all, insist on at least
* two seconds.
*/
if (timeout < 2)
timeout = 2;
}
else /* negative means 0 */
timeout = 0;
With this infrastructure, there's no longer any need to discriminate
against timeout == 1 second, so we might as well reduce this to
if (timeout < 0)
timeout = 0;
as it's done elsewhere.
I'm unsure if the documentation matches the code?
"
connect_timeout
#Maximum time to wait while connecting, in seconds (write as a decimal integer, e.g., 10
). Zero, negative, or not specified means wait indefinitely. The minimum allowed timeout is 2 seconds, therefore a value of 1
is interpreted as 2
. This timeout applies separately to each host name or IP address. For example, if you specify two hosts and connect_timeout
is 5, each host will time out if no connection is made within 5 seconds, so the total time spent waiting for a connection might be up to 10 seconds.
- "
The comments says that timeout = 0, means *Timeout is immediate (no blocking)*
Does the word "indefinitely" mean infinite?
If yes, connect_timeout = -1, mean infinite?
best regards,
Ranier Vilela