Re: droped out precise time calculations in src/interfaces/libpq/fe-connect.c
От | Tom Lane |
---|---|
Тема | Re: droped out precise time calculations in src/interfaces/libpq/fe-connect.c |
Дата | |
Msg-id | 18374.1034620967@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | 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
|
Список | pgsql-hackers |
Bruce Momjian <pgman@candle.pha.pa.us> writes: > /* > * select() may modify timeout argument on some platforms so > ! * use copy. > ! * XXX Do we really want to do that? If select() returns > ! * the number of seconds remaining, we are resetting > ! * the timeout to its original value. This will yeild > ! * incorrect timings when select() is interrupted. > ! * bjm 2002-10-14 > */ > tmp_timeout = *timeout; > ptmp_timeout = &tmp_timeout; Actually, now that I look at this, the API for PQwaitTimed is wrong after all. The right way to implement this is for the caller to pass in finish_time (or some indication that no timeout is wanted). Evaluation of the time left to wait should happen inside this retry loop. That way, you get the right behavior (plus or minus one second, anyway) independently of whether the platform's select() reduces its timeout argument or not. regards, tom lane
В списке pgsql-hackers по дате отправления: