Re: TODO-item: Add sleep() function, remove from regress.c

Поиск
Список
Период
Сортировка
От Andrew Dunstan
Тема Re: TODO-item: Add sleep() function, remove from regress.c
Дата
Msg-id 43C4592F.6000104@dunslane.net
обсуждение исходный текст
Ответ на Re: TODO-item: Add sleep() function, remove from regress.c  ("Jim C. Nasby" <jnasby@pervasive.com>)
Ответы Re: TODO-item: Add sleep() function, remove from regress.c
Список pgsql-patches

Jim C. Nasby wrote:

>On Tue, Jan 10, 2006 at 11:31:13AM +0100, Joachim Wieland wrote:
>
>
>>No, cancelling the sleep works (at least for Unix). Isn't cancelling
>>implemented via a signal that interrupts select() ?
>>
>>Anyway, I've changed it, removing the ~2000s limit is a good point.
>>+     while (secs > 1.0)
>>+     {
>>+         pg_usleep(1000000);
>>+         CHECK_FOR_INTERRUPTS();
>>+         secs -= 1.0;
>>+     }
>>
>>
>
>Won't this result in a call to pg_sleep with a long sleep time ending up
>sleeping noticeably longer than requested?
>
>

Looks like it to me.

Instead of using a counter it might be better to set a target end time
and check that against the value returned from time() or gettimeofday().

cheers

andrew

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

Предыдущее
От: "Jim C. Nasby"
Дата:
Сообщение: Re: TODO-item: Add sleep() function, remove from regress.c
Следующее
От: Mark Kirkwood
Дата:
Сообщение: Re: Summary table trigger example race condition