Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> writes:
> Tom Lane wrote:
>> That is odd; seems like you should get between 1 and 2 seconds. How
>> were you measuring the delay, exactly?
> Remember, that if you add 1, the select() is going to get tv_sec = 2, so
> yes, it will be two seconds.
Yeah, but only if the value isn't recalculated shortly later. Consider
caller computes finish_time = time() + timeout;
...
inside select-wait loop, compute max_delay = finish_time - time();
If the time() value has incremented by 1 second between these two lines
of code, you have a problem with a 1-second timeout...
regards, tom lane