Tom Lane wrote: > Bruce Momjian <[EMAIL PROTECTED]> writes: > > Denis A Ustimenko wrote: > >> Beware of almost 1 second posiible error. For example: connect_timeout == 1, > >> we start at 0.999999 then finish_time == 1. If CPU is quite busy we will > >> do only one iteration. I don't know is it enough to make connection? > >> True timeout in this case == 0.000001 > > > Good question. What is going to happen is that select() is going to be > > passed tv_sec = 1, and it is going to sleep for one second. Now, if > > select is interrupted, another time() call is going to be made. > > There is a very simple answer to this, which I think I suggested to Joe > originally, but it's not in the code now: the initial calculation of > finish_time = now() + timeout must add one. This ensures that any > roundoff error is in the conservative direction of timing out later, > rather than sooner.
Yes, I saw that and will try to add it back into the code. -- Bruce Momjian | http://candle.pha.pa.us [EMAIL PROTECTED] | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 ---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly