Re: droped out precise time calculations in src/interfaces/libpq/fe-connect.c

Поиск
Список
Период
Сортировка
От Joe Conway
Тема Re: droped out precise time calculations in src/interfaces/libpq/fe-connect.c
Дата
Msg-id 3DAC42ED.3010603@joeconway.com
обсуждение исходный текст
Ответ на Re: droped out precise time calculations in src/interfaces/libpq/fe-connect.c  (Bruce Momjian <pgman@candle.pha.pa.us>)
Ответы Re: droped out precise time calculations in src/interfaces/libpq/fe-connect.c  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
>>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, my bad, I guess.

The thing was that with the extra +1, I was repeatedly getting a wall-clock 
time of 2 seconds with a timeout set to 1 second. It seemed odd to have my 1 
second timeout automatically turned into 2 seconds every time. With the 
current code, I tried a timeout of 1 second at least a 100 times and it always 
took about 1 full wall-clock second. But I guess if there is some corner case 
that needs it...

Joe



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Teodor Sigaev
Дата:
Сообщение: Current CVS - something broken in contrib
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Current CVS - something broken in contrib